Memory/CPU usage for Neo4J browser

I am noticing some interesting differences in the Neo4J browser depending on the browser used. The graph in the backend is rather large several million nodes and over 50 million edges. So some queries tend to be rather large, especially if it's of the type where one aggregates a large number of results.

On Safari 13.1.1 given a demanding query, the browser starts eating up ram up to several gigs then Safari kills the tab due to memory constraints (AFAIK the threshold is not tunable). The same query on the same graph, via Chrome, is heavy on the CPU instead. It maxes out all cores while not creating a significant memory footprint (at least not on the same scale as Safari).

Is this intentional? What could that be due to? Are there any documents one can read about differential performance based on the browser?

Thanks in advance

I dont explain it but it must be implementation differences.
Fortunately, we still have several browsers available.

Check some results from cypher shell and see how the response time is mostly spent in JS computations for placing nodes.

In browser when you return huge number of results then these 2 issues can come into picture.

  1. JS can run out of memory depending on the amount of data needs to be read into memory
  2. The d3.js visualization library can eat up CPU and memory trying to visualize those results.

One should always avoid trying to render more than few hundreds of nodes and relationships in browser and use other visualization tools.

If you are trying to write the data to file then cypher shell should be used.

@anthapu and @wadael

Thanks for the responses. I am aware that the layouting of the nodes may/likely takes a lot of computation time. Although I think this particular thing I am asking about relates more to retrieval of the data rather than the layout, since I see nothing on the browser.

I realize it doesn't sound plausible but it feels like on Chrome more of the work is done by the browser asynch while on Safari it seemingly wants to load everything in memory first which crashes the tab.