typesafehub / conductr-cli

CLI for Lightbend ConductR
Other
16 stars 21 forks source link

Further performance improvements #487

Closed huntc closed 7 years ago

huntc commented 7 years ago

Further performance improvements with all uses of the progress bar considered. The emphasis on the change here is to reduce the amount of floating point arithmetic and perhaps more importantly, the frequency of updates to progress. I think the code is simpler also.

On the update frequency, progress is now updated each tenth of a second.

huntc commented 7 years ago

The following benchmarks show that the disabling vs enabling the new logging shows little overhead. There should also be the potential for higher performance if IO throughput increases.

The results:

setup

sandbox run 2.1.0-beta.1 --no-default-features

test

conduct load visualizer --offline

disabled call

Time 0 Time 1 Time 2 Time 3 Time 4 Time 5 Time 6 Time 7 Time 8 Time 9
0m5.342s 0m3.741s 0m2.531s 0m2.411s 0m2.434s 0m2.210s 0m2.156s 0m2.457s 0m2.291s 0m2.152s 0m2.600s

new call

Time 0 Time 1 Time 2 Time 3 Time 4 Time 5 Time 6 Time 7 Time 8 Time 9
0m4.563s 0m3.014s 0m2.461s 0m2.502s 0m2.650s 0m2.259s 0m2.375s 0m2.259s 0m2.500s 0m2.431s
huntc commented 7 years ago

Observation tests were also performed for loading bundles from bintray and resolving docker images.

typesafe-tools commented 7 years ago

Performance improvements to CLI