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 |
||
---|---|---|
.. | ||
analytical_mode | ||
analyze_graph | ||
awesome_functions | ||
batched_procedures | ||
concurrent_query_modules | ||
configuration | ||
constraints | ||
disk_storage | ||
filter_info | ||
fine_grained_access | ||
garbage_collection | ||
graphql | ||
high_availability | ||
import_mode | ||
index_hints | ||
init_file_flags | ||
inspect_query | ||
isolation_levels | ||
lba_procedures | ||
load_csv | ||
magic_functions | ||
memory | ||
metadata_queries | ||
mock_api | ||
module_file_manager | ||
monitoring_server | ||
python_query_modules_reloading | ||
queries | ||
query_modules | ||
query_modules_storage_modes | ||
query_planning | ||
replication | ||
replication_experimental | ||
server | ||
set_properties | ||
show_index_info | ||
streams | ||
telemetry | ||
temporal_types | ||
transaction_queue | ||
transaction_rollback | ||
triggers | ||
write_procedures | ||
.gitignore | ||
CMakeLists.txt | ||
dependency_check.sh | ||
interactive_mg_runner.py | ||
memgraph-selfsigned.crt | ||
memgraph-selfsigned.key | ||
memgraph.py | ||
mg_utils.py | ||
pytest_runner.sh | ||
README.md | ||
run.sh | ||
runner.py | ||
x.sh |
tests/e2e
Framework to run end-to-end tests against Memgraph.
Notes
- If you change something under this directory and below (even a Python
script),
make
has to be run again because all tests are copied to the build directory and executed from there. - Use/extend
run.sh
if you run any e2e tests:- if all tests have to executed, use
run.sh
- if a suite of tests have to be execute, take a look under
run.sh
how to do so - if only a single test have to be execute, take a look at each individual binary/script, it's possible to manually pick the test
- if all tests have to executed, use