Dear Sawada-san,

> Thank you for your interest in this patch. I've just shared some
> benchmark results (with a patch) that could be different depending on
> the environment[1]. I would be appreciated if you also do similar
> tests and share the results.

Okay, I did similar tests, the attached script is the test runner. 
rb_mem_block_size
was changed from 8kB to 8MB. Below table show the result (millisecond unit).
Each cell is the average of 5 runs.

==========
8kB     12877.4
16kB    12829.1
32kB    11793.3
64kB    13134.4
128kB   13353.1
256kB   11664.0
512kB   12603.4
1MB     13443.8
2MB     12469.0
4MB     12651.4
8MB     12381.4
==========

The standard deviation of measurements was 100-500 ms, there were no noticeable
differences on my env as well.

Also, I've checked the statistics of the generation context, and confirmed the
number of allocated blocks is x1000 higher if the block size is changed 
8kB->8MB.
[1] shows the output from MemoryContextStats(), just in case. IIUC, the 
difference
of actual used space comes from the header of each block. Each block has 
attributes
for management so that the total usage becomes larger based on the number.

[1]
8kB
Tuples: 724959232 total in 88496 blocks (10000000 chunks); 3328 free (0 
chunks); 724955904 used
Grand total: 724959232 bytes in 88496 blocks; 3328 free (0 chunks); 724955904 
used

8MB
Tuples: 721420288 total in 86 blocks (10000000 chunks); 1415344 free (0 
chunks); 720004944 used
Grand total: 721420288 bytes in 86 blocks; 1415344 free (0 chunks); 720004944 
use

Best regards,
Hayato Kuroda
FUJITSU LIMITED

Attachment: test.sh
Description: test.sh

Reply via email to