8bc8e867e4
Query allocator and evaluation allocator were different. After analysis, was determined they should be the same, this will help future development reduce TypeValue copies during queries. Changes: - Common allocator, PoolResource backed by MonotonicResource - Optimized Pool, now O(1) alloc/dealloc as all chunks in Pool form a single free list - 2nd PoolResource, using bin sizing, not as perfect for memory usage but O(1) bin selection - Now have jemalloc's background thread to make sure decay and return to OS happens - Optimized ProperyValue to be faster at destruction/copy/move - Less temporary memory allocations - CSV reader now maintains a common line buffer it reuses on line reads - Writing out bolt values, now reuses a values buffer - Evaluating an int no longer makes temporary strings for errors it most likely never throws - ExpandVariable will reuse existing edge list in frame it one existed |
||
---|---|---|
.. | ||
procedures | ||
CMakeLists.txt | ||
memory_control.cpp | ||
memory_limit_accumulation.cpp | ||
memory_limit_delete.cpp | ||
memory_limit_edge_create.cpp | ||
memory_limit_global_alloc_proc.cpp | ||
memory_limit_global_alloc.cpp | ||
memory_limit_global_thread_alloc_proc.cpp | ||
procedure_memory_limit_multi_proc.cpp | ||
procedure_memory_limit.cpp | ||
query_memory_limit_create.cpp | ||
query_memory_limit_multi_thread.cpp | ||
query_memory_limit_proc_multi_thread.cpp | ||
query_memory_limit_proc.cpp | ||
workloads.yaml |