RE: Improve eviction algorithm in ReorderBuffer

Поиск
Список
Период
Сортировка
От Hayato Kuroda (Fujitsu)
Тема RE: Improve eviction algorithm in ReorderBuffer
Дата
Msg-id OSBPR01MB2552025406D6DEBF7EB8FDA7F5052@OSBPR01MB2552.jpnprd01.prod.outlook.com
обсуждение исходный текст
Ответ на Re: Improve eviction algorithm in ReorderBuffer  (Heikki Linnakangas <hlinnaka@iki.fi>)
Ответы Re: Improve eviction algorithm in ReorderBuffer  (Masahiko Sawada <sawada.mshk@gmail.com>)
Список pgsql-hackers
Dear Heikki,

I also prototyped the idea, which has almost the same shape.
I attached just in case, but we may not have to see.

Few comments based on the experiment.

```
+    /* txn_heap is ordered by transaction size */
+    buffer->txn_heap = pairingheap_allocate(ReorderBufferTXNSizeCompare, NULL);
```

I think the pairing heap should be in the same MemoryContext with the buffer.
Can we add MemoryContextSwithTo()?

```
+        /* Update the max-heap */
+        if (oldsize != 0)
+            pairingheap_remove(rb->txn_heap, &txn->txn_node);
+        pairingheap_add(rb->txn_heap, &txn->txn_node);
...
+        /* Update the max-heap */
+        pairingheap_remove(rb->txn_heap, &txn->txn_node);
+        if (txn->size != 0)
+            pairingheap_add(rb->txn_heap, &txn->txn_node);
```

Since the number of stored transactions does not affect to the insert operation, we may able
to add the node while creating ReorederBufferTXN and remove while cleaning up it. This can
reduce branches in ReorderBufferChangeMemoryUpdate().

Best Regards,
Hayato Kuroda
FUJITSU LIMITED
https://www.fujitsu.com/ 


Вложения

В списке pgsql-hackers по дате отправления:

Предыдущее
От: David Steele
Дата:
Сообщение: [MASSMAIL]pg_combinebackup does not detect missing files
Следующее
От: David Steele
Дата:
Сообщение: Re: post-freeze damage control