Open nigrosimone opened 3 weeks ago
Thanks for bringing this up. Do you have any benchmark results?
Thanks for bringing this up. Do you have any benchmark results?
The PR is 20% faster. Tested only on node 20.
20% faster on what benchmark?
20% faster on what benchmark?
I have made a benchmark of single method, but moking the db/query logic, just for test if Preallocating array has a performance benefit, eg consumeFields
pre allocate array is generally faster compared to other methods, push is the slower benchmark
@charmander after fixed dev container with https://github.com/brianc/node-postgres/pull/3251 I have also run the pg-native bench https://github.com/brianc/node-postgres/blob/master/packages/pg-native/bench/index.js
TL;TR
The benchmark shows no improvement. But looking at the benchmark code, this doesn't appear to be very accurate
PR
node index.js
pure done 49
native done 36
pure done 70
native done 36
pure done 51
native done 43
pure done 25
native done 38
pure done 20
native done 27
pure done 35
native done 29
pure done 34
native done 54
pure done 33
native done 58
pure done 55
native done 24
pure done 31
native done 38
pure done 25
native done 25
pure done 19
native done 29
pure done 32
native done 36
pure done 54
native done 46
MASTER
node index.js
pure done 73
native done 60
pure done 29
native done 44
pure done 15
native done 33
pure done 44
native done 29
pure done 15
native done 47
pure done 15
native done 50
pure done 15
native done 30
pure done 15
native done 37
pure done 16
native done 17
pure done 23
native done 36
pure done 43
native done 35
pure done 17
native done 19
pure done 17
native done 39
pure done 15
native done 45
pure done 15
native done 31
pure done 39
native done 27
pure done 16
native done 39
just a little performance improvement. Preallocating array instead of push item