I have been working on a project in Unity3D game engine, where I used the HTTP API for communication with the Neo4j server.
The project is written in C# and I have used the following approach to open and commit a transaction:
Unfortunately, I noticed that for any single transaction with any single query, the process took approximately 3-4 seconds to complete. So I timed all methods involved in this process but none were found to take more than a few milliseconds to return. I concluded that Neo4j actually took all this time to return the JSON response.
I then focused on Neo4j and between meddling with my graph configuration and sending queries from Unity, I finally managed to get each query to execute in less than 50-100 milliseconds.
All I did, was to accept non-local connections by uncommenting from my graph configuration file:
Unity runs locally as well as all the transactions I issued with it.
I have researched before posting here and haven't found any relevant information about how accepting non-local connections can result in transactional performance between the Neo4j server and a process that runs locally.
I found this odd and the reason I am opening this topic, is simply because I am really curious as to what really happened in this case and how Neo4j handles it. I suspect that there might be security-related processes involved, but if anyone has a solid explanation, I and future readers will appreciate it.
Thank you in advance!