cmu-db / peloton

The Self-Driving Database Management System
http://pelotondb.io
Apache License 2.0
2.03k stars 623 forks source link

Performance Fixes: pass TileGroupHeader*, avoid RW set lookups #1380

Closed tcm-marcel closed 6 years ago

tcm-marcel commented 6 years ago
coveralls commented 6 years ago

Coverage Status

Coverage increased (+0.02%) to 77.418% when pulling 93d8ba54fc6da68bed97f4ded435e982a94e733e on tcm-marcel:fix/tilegroupheader into 36e880e2fb946c7b5b9d541e4cfbb98fbec1cdbe on cmu-db:master.

tcm-marcel commented 6 years ago

Callgrind call graph at PerformVectorizedRead before (left) and after the fix (right) when running oltpbench ycsb RecordRead. Only small changes, but it seems to be a little better. I don't know yet, why some of the invocation numbers are different. grafik Be aware that the colors are different between left and right when reading.

tcm-marcel commented 6 years ago

Let's wait with merging this PR: 1. I currently can't install packages on the dev machine, so this check is still outstanding. [done] 2. I also want to write a small example to ensure that the interator of tbb::unordered_map works that way I expect it to work. [done]

tcm-marcel commented 6 years ago

It seems that the const iterator is not correct in tbb, as it still allows to change the values. I changed it to get a non-const iterator. (small example I used to verify this: https://gist.github.com/tcm-marcel/37eafcfa2984e5f93f05a0c7bad9f12b)