Open-source graph database, built for real-time streaming data, compatible with Neo4j.
Go to file
Matej Ferencevic c877c87bb4 Refactor RPC
Summary:
Previously, the RPC stack used the network stack only to receive messages. The
messages were then added to a separate queue that was processed by different
thread pools. This design was inefficient because there was a lock when
inserting and getting messages from the common queue.

This diff removes the need for separate thread pools by utilising the new
network stack design. This is possible because the new network stack allows
full processing of the network request without blocking the whole queue.

Reviewers: buda, florijan, teon.banek, dgleich, mislav.bradac

Reviewed By: buda

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D1229
2018-02-23 12:07:22 +01:00
cmake Cleanup and reorganize release directory 2018-01-15 10:12:59 +01:00
config Remove executor not run option 2017-12-18 14:36:15 +01:00
customers Implement manage script for card fraud demo 2018-02-12 13:29:12 +01:00
docs Add ExpandWeightedShortestPathCursor 2018-02-14 09:32:41 +01:00
experimental Integrate code coverage with Apollo 2018-01-15 12:20:11 +01:00
libs Integrate code coverage with Apollo 2018-01-15 12:20:11 +01:00
poc Add parallel customers/Otto test 2017-11-23 09:20:53 +01:00
release Cleanup and reorganize release directory 2018-01-15 10:12:59 +01:00
src Refactor RPC 2018-02-23 12:07:22 +01:00
tests Refactor RPC 2018-02-23 12:07:22 +01:00
tools Refactor RPC 2018-02-23 12:07:22 +01:00
.arcconfig arcconfig: Default to master for diff and land 2017-11-07 18:41:51 +01:00
.clang-format Edges data structure now supports multiple edge filtering (implicit OR) 2017-09-26 13:46:18 +02:00
.gdbinit Add pretty printer to gdb for TypedValue 2017-08-16 11:32:25 +02:00
.gitignore Changed macro benchmark summary format 2017-12-28 16:35:45 +01:00
.ycm_extra_conf.py Configure YCM for Cereal 2017-12-06 14:28:34 +01:00
apollo_archives.py Add initial version of Apollo config files 2018-01-10 14:46:10 +01:00
apollo_archives.yaml Add initial version of Apollo config files 2018-01-10 14:46:10 +01:00
apollo_build.yaml Integrate code coverage with Apollo 2018-01-15 12:20:11 +01:00
CHANGELOG.md Add REDUCE function to openCypher 2018-02-07 12:48:20 +01:00
CMakeLists.txt Implement simple log file storage for raft 2018-01-15 18:07:45 +01:00
Doxyfile Add initial version of Apollo config files 2018-01-10 14:46:10 +01:00
Doxylogo.png Doxygen setup 2016-12-20 15:49:52 +01:00
init Implement simple log file storage for raft 2018-01-15 18:07:45 +01:00
README.md Migrate command line args to gflgs in tests 2017-07-06 13:54:12 +02:00

memgraph

Memgraph is an ACID compliant high performance transactional distributed in-memory graph database featuring runtime native query compiling, lock free data structures, multi-version concurrency control and asynchronous IO.

dependencies

Memgraph can be compiled using any modern c++ compiler. It mostly relies on the standard template library, however, some things do require external libraries.

Some code contains linux-specific libraries and the build is only supported on a 64 bit linux kernel.

  • linux
  • clang 3.8 (good c++11 support, especially lock free atomics)
  • antlr (compiler frontend)
  • cppitertools
  • fmt format
  • google benchmark
  • google test
  • glog
  • gflags