You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Speed up construction of MANIFEST.MF lines in java_stub_template
This PR significantly improves the performance of constructing the classpath JAR `MANIFEST.MF` file in `java_stub_template`.
If the `CLASSPATH` is huge then significant time is spent wrapping the lines of the manifest to 72 characters. For example, if the classpath contains 400k characters then it takes nearly two minutes to generate the `MANIFEST.MF` file!
To speed this up, I changed the code to use the `fold` utility (instead of a `for` loop which indexes into a giant string). This is _much_ faster, processing a 400k character classpath in ~150ms (my microbenchmark code and results are at https://gist.github.com/joshrosen-stripe/96a467cd7847cef241772064ec902147)
`fold` is part of the POSIX spec so I believe that this solution will be portable.
Closesbazelbuild#8196.
PiperOrigin-RevId: 247575329
0 commit comments