-
Notifications
You must be signed in to change notification settings - Fork 50
Open
Description
Upgraded to v0.5.0, noticed that running tms now is very slower compared to v0.4.5.
I ran some tests with hyperfine (compiled the binaries with cargo build --release) spamming the esc key. I'm very aware that this is a very non-conclusive test, but the difference in the time took warrants some additional investigation nonetheless, here are the results:
> hyperfine ./v0.4.5
Benchmark 1: ./v0.4.5
Time (mean ± σ): 204.3 ms ± 16.8 ms [User: 41.1 ms, System: 163.7 ms]
Range (min … max): 184.4 ms … 263.1 ms 16 runs
> hyperfine ./v0.5.0
Benchmark 1: ./v0.5.0
Time (mean ± σ): 713.0 ms ± 17.3 ms [User: 551.5 ms, System: 166.5 ms]
Range (min … max): 672.5 ms … 730.7 ms 10 runs
> hyperfine ./v0.4.5 ./v0.5.0
Benchmark 1: ./v0.4.5
Time (mean ± σ): 202.2 ms ± 8.0 ms [User: 39.8 ms, System: 166.2 ms]
Range (min … max): 182.3 ms … 214.5 ms 16 runs
Benchmark 2: ./v0.5.0
Time (mean ± σ): 720.6 ms ± 9.5 ms [User: 559.8 ms, System: 165.3 ms]
Range (min … max): 703.9 ms … 732.3 ms 10 runs
Summary
./v0.4.5 ran
3.56 ± 0.15 times faster than ./v0.5.0Actual tests
Did some more digging, wrote a test that measures execution time for find_repos and ran with cargo (thereby eliminating user esc behaviour).
All the configurations are the same as the first set of tests.
v0.5.0:
> cargo test -- --nocapture
...(omit output for brevity)
Function execution time: 2.733594328s
test repos::test::perf_find_repos ... ok
...(omit output for brevity)v0.4.5
> cargo test -- --nocapture
...(omit output for brevity)
Function execution time: 534.414374ms
test repos::test::perf_find_repos ... ok
...(omit output for brevity)Let me know if further investigation is needed.
Metadata
Metadata
Assignees
Labels
No labels