EngFlow / bazel_invocation_analyzer

A tool that automatically analyzes a Bazel build's profile and offers suggestions on how to make it faster.
https://analyzer.engflow.com
Apache License 2.0
90 stars 10 forks source link

[Performance] Use interner to de-duplicate strings #164

Closed saraadams closed 9 months ago

saraadams commented 9 months ago

When reading the profile, many strings are encountered multiple times. Use String.interner() to reduce the memory requirements of running the analyzer.

Benchmark with a Bazel profile of unzipped size 357MB Using YourKit as a profiler and checking the shallow size just before generating the suggestions:

Before: 692 MB After: 349 MB

Progress on #163