88de3422d0
Summary: This is a simple change which modifies interface of awesome_memgraph_functions to accept C-style pointer to array with count. Doing things this way, allows us to easily try out different allocation schemes for function arguments. In this diff, we are now using stack allocation of arguments in a plain fixed size array. This is done when the number of arguments is small. According to heaptrack, this small change should yield noticeable improvements to heap usage. Obviously, this doesn't solve the problem of heap allocations inside TypedValue arguments themselves. These allocations appear when std::string and std::vector is used inside TypedValue. Micro benchmarks show that there is some performance improvement, mostly around the limits of using array vs std::vector. The improvement is more noticeable with multiple threads, due to primary gain being in avoiding calls to memory allocation. Reviewers: mtomic, msantl, mferencevic Reviewed By: mferencevic Subscribers: pullbot Differential Revision: https://phabricator.memgraph.io/D1581 |
||
---|---|---|
.. | ||
data_structures | ||
query | ||
CMakeLists.txt | ||
edge_storage.cpp | ||
expansion.cpp | ||
mvcc.cpp | ||
serialization.cpp | ||
tx_engine.cpp |