llmhyy / microbat

A feedback-based debugger for interactively recommending suspicious step in buggy program execution.
55 stars 16 forks source link

[Frontend] Lazy Trace loading #213

Open dingyuchen opened 3 years ago

dingyuchen commented 3 years ago

For programs with a large number of traces in the database, it is possible that loading of traces in the Eclipse UI will be slow and user experience will be affected.

Currently, each call to query traces from the database closes an established connection.

Let's look into:

dingyuchen commented 3 years ago

Investigation:

Memory footprint hovers around 0.5gb, max 0.8gb, far below OOM thresholds (1gb). GC is able to handle high occupancy scenarios effectively. Since Microbat is not a read heavy application (1 read per program execution), connection pooling is unlikely to make significant improvements, although reading in parallel is possible. The UI is able to handle steps of up to 80k. Since RW variables will only be needed after clicking a step. Lazy loading of RW variables from the database can improve user experience

dingyuchen commented 3 years ago

Memory and CPU sampling data

image image