[BOLT-1119] Improve Bolt startup time on Windows for bolt --help Created: 2019/02/08 Updated: 2019/03/26 Resolved: 2019/03/20
|Project:||Puppet Task Runner|
|Fix Version/s:||BOLT 1.15.0|
|Reporter:||Yasmin Rajabi||Assignee:||Cas Donoghue|
|Remaining Estimate:||Not Specified|
|Time Spent:||Not Specified|
|Original Estimate:||Not Specified|
|Release Notes Summary:||Improvements to bolt startup time on windows OS.|
|QA Risk Assessment:||Needs Assessment|
|Comment by Ethan Brown [ 2019/03/12 ]|
Using a Windows 10 local VM with Ruby 2.5 and running Ruby / Bolt from source (with bundler) inside the ruby-prof profiler has generated some useful information. A typical bundle exec bolt --help on a clean system takes about 4.5 seconds. By comparison, simply loading irb takes under a second.
There are two areas to further explore:
A couple of additional notes:
|Comment by Melissa Amos [ 2019/03/20 ]|
To clarify, this improves startup time for Bolt help, specifically, correct? (The release notes summary just says improve Bolt startup time).
Is there anything more to be said here, user-facing? Even estimated improvement in seconds would give me some content for the actual body of the release note.
|Comment by Cas Donoghue [ 2019/03/20 ]|
I would imagine it helps for bolt --version or just running bolt (which is the same as bolt --help. I view this work as kind of a pre-cursor to
Improve bolt load time (1.15.0)
|Comment by Ethan Brown [ 2019/03/22 ]|
My tests have been confined to a single host / scenario, so I'm not entirely comfortable with advertising "% faster" or absolute times improvements like "3 seconds faster" as that can be wildly variable based on machine.
The focus of this work has been primarily on improving the path to something like bolt --help for now, but will expand out to encompass other common operations in later tickets / efforts. So for now, it's been about not loading code that we'll never need OR lazy-loading code when we need it (which will make small improvements across all operating systems - regardless of whether or not we're just asking for bolt --help or doing real work).
That's a long winded way of saying that what you have in the docs is entirely sufficient.