Commit 415524b
authored
chore: Use more while loop (#627)
Motivation:
Use more while loops and avoid some allocation.
master:
```
125] Benchmark (path) Mode Cnt Score Error Units
125] RegressionBenchmark.main bench/resources/bug_suite/assertions.jsonnet avgt 0.326 ms/op
125] RegressionBenchmark.main bench/resources/cpp_suite/bench.01.jsonnet avgt 0.073 ms/op
125] RegressionBenchmark.main bench/resources/cpp_suite/bench.02.jsonnet avgt 40.602 ms/op
125] RegressionBenchmark.main bench/resources/cpp_suite/bench.03.jsonnet avgt 13.352 ms/op
125] RegressionBenchmark.main bench/resources/cpp_suite/bench.04.jsonnet avgt 32.769 ms/op
125] RegressionBenchmark.main bench/resources/cpp_suite/bench.06.jsonnet avgt 0.448 ms/op
125] RegressionBenchmark.main bench/resources/cpp_suite/bench.07.jsonnet avgt 3.253 ms/op
125] RegressionBenchmark.main bench/resources/cpp_suite/bench.08.jsonnet avgt 0.062 ms/op
125] RegressionBenchmark.main bench/resources/cpp_suite/bench.09.jsonnet avgt 0.068 ms/op
125] RegressionBenchmark.main bench/resources/cpp_suite/gen_big_object.jsonnet avgt 1.012 ms/op
125] RegressionBenchmark.main bench/resources/cpp_suite/large_string_join.jsonnet avgt 2.059 ms/op
125] RegressionBenchmark.main bench/resources/cpp_suite/large_string_template.jsonnet avgt 2.439 ms/op
125] RegressionBenchmark.main bench/resources/cpp_suite/realistic1.jsonnet avgt 3.298 ms/op
125] RegressionBenchmark.main bench/resources/cpp_suite/realistic2.jsonnet avgt 125.995 ms/op
125] RegressionBenchmark.main bench/resources/go_suite/base64.jsonnet avgt 0.843 ms/op
125] RegressionBenchmark.main bench/resources/go_suite/base64Decode.jsonnet avgt 0.651 ms/op
125] RegressionBenchmark.main bench/resources/go_suite/base64DecodeBytes.jsonnet avgt 9.457 ms/op
125] RegressionBenchmark.main bench/resources/go_suite/base64_byte_array.jsonnet avgt 1.515 ms/op
125] RegressionBenchmark.main bench/resources/go_suite/comparison.jsonnet avgt 23.599 ms/op
125] RegressionBenchmark.main bench/resources/go_suite/comparison2.jsonnet avgt 75.864 ms/op
125] RegressionBenchmark.main bench/resources/go_suite/escapeStringJson.jsonnet avgt 0.050 ms/op
125] RegressionBenchmark.main bench/resources/go_suite/foldl.jsonnet avgt 9.695 ms/op
125] RegressionBenchmark.main bench/resources/go_suite/lstripChars.jsonnet avgt 0.650 ms/op
125] RegressionBenchmark.main bench/resources/go_suite/manifestJsonEx.jsonnet avgt 0.072 ms/op
125] RegressionBenchmark.main bench/resources/go_suite/manifestTomlEx.jsonnet avgt 0.089 ms/op
125] RegressionBenchmark.main bench/resources/go_suite/manifestYamlDoc.jsonnet avgt 0.076 ms/op
125] RegressionBenchmark.main bench/resources/go_suite/member.jsonnet avgt 0.731 ms/op
125] RegressionBenchmark.main bench/resources/go_suite/parseInt.jsonnet avgt 0.052 ms/op
125] RegressionBenchmark.main bench/resources/go_suite/reverse.jsonnet avgt 11.621 ms/op
125] RegressionBenchmark.main bench/resources/go_suite/rstripChars.jsonnet avgt 0.647 ms/op
125] RegressionBenchmark.main bench/resources/go_suite/stripChars.jsonnet avgt 0.632 ms/op
125] RegressionBenchmark.main bench/resources/go_suite/substr.jsonnet avgt 0.173 ms/op
125] RegressionBenchmark.main bench/resources/sjsonnet_suite/setDiff.jsonnet avgt 0.493 ms/op
125] RegressionBenchmark.main bench/resources/sjsonnet_suite/setInter.jsonnet avgt 0.443 ms/op
125] RegressionBenchmark.main bench/resources/sjsonnet_suite/setUnion.jsonnet avgt 0.792 ms/op
125/125, SUCCESS] ./mill bench.runRegressions 438s
```
current:
```
125] Benchmark (path) Mode Cnt Score Error Units
125] RegressionBenchmark.main bench/resources/bug_suite/assertions.jsonnet avgt 0.328 ms/op
125] RegressionBenchmark.main bench/resources/cpp_suite/bench.01.jsonnet avgt 0.103 ms/op
125] RegressionBenchmark.main bench/resources/cpp_suite/bench.02.jsonnet avgt 42.077 ms/op
125] RegressionBenchmark.main bench/resources/cpp_suite/bench.03.jsonnet avgt 13.699 ms/op
125] RegressionBenchmark.main bench/resources/cpp_suite/bench.04.jsonnet avgt 33.063 ms/op
125] RegressionBenchmark.main bench/resources/cpp_suite/bench.06.jsonnet avgt 0.411 ms/op
125] RegressionBenchmark.main bench/resources/cpp_suite/bench.07.jsonnet avgt 3.003 ms/op
125] RegressionBenchmark.main bench/resources/cpp_suite/bench.08.jsonnet avgt 0.059 ms/op
125] RegressionBenchmark.main bench/resources/cpp_suite/bench.09.jsonnet avgt 0.066 ms/op
125] RegressionBenchmark.main bench/resources/cpp_suite/gen_big_object.jsonnet avgt 0.973 ms/op
125] RegressionBenchmark.main bench/resources/cpp_suite/large_string_join.jsonnet avgt 1.987 ms/op
125] RegressionBenchmark.main bench/resources/cpp_suite/large_string_template.jsonnet avgt 2.367 ms/op
125] RegressionBenchmark.main bench/resources/cpp_suite/realistic1.jsonnet avgt 3.579 ms/op
125] RegressionBenchmark.main bench/resources/cpp_suite/realistic2.jsonnet avgt 88.964 ms/op
125] RegressionBenchmark.main bench/resources/go_suite/base64.jsonnet avgt 0.839 ms/op
125] RegressionBenchmark.main bench/resources/go_suite/base64Decode.jsonnet avgt 0.641 ms/op
125] RegressionBenchmark.main bench/resources/go_suite/base64DecodeBytes.jsonnet avgt 9.608 ms/op
125] RegressionBenchmark.main bench/resources/go_suite/base64_byte_array.jsonnet avgt 1.477 ms/op
125] RegressionBenchmark.main bench/resources/go_suite/comparison.jsonnet avgt 24.221 ms/op
125] RegressionBenchmark.main bench/resources/go_suite/comparison2.jsonnet avgt 80.209 ms/op
125] RegressionBenchmark.main bench/resources/go_suite/escapeStringJson.jsonnet avgt 0.050 ms/op
125] RegressionBenchmark.main bench/resources/go_suite/foldl.jsonnet avgt 9.614 ms/op
125] RegressionBenchmark.main bench/resources/go_suite/lstripChars.jsonnet avgt 0.628 ms/op
125] RegressionBenchmark.main bench/resources/go_suite/manifestJsonEx.jsonnet avgt 0.072 ms/op
125] RegressionBenchmark.main bench/resources/go_suite/manifestTomlEx.jsonnet avgt 0.093 ms/op
125] RegressionBenchmark.main bench/resources/go_suite/manifestYamlDoc.jsonnet avgt 0.077 ms/op
125] RegressionBenchmark.main bench/resources/go_suite/member.jsonnet avgt 0.750 ms/op
125] RegressionBenchmark.main bench/resources/go_suite/parseInt.jsonnet avgt 0.054 ms/op
125] RegressionBenchmark.main bench/resources/go_suite/reverse.jsonnet avgt 11.649 ms/op
125] RegressionBenchmark.main bench/resources/go_suite/rstripChars.jsonnet avgt 0.647 ms/op
125] RegressionBenchmark.main bench/resources/go_suite/stripChars.jsonnet avgt 0.643 ms/op
125] RegressionBenchmark.main bench/resources/go_suite/substr.jsonnet avgt 0.170 ms/op
125] RegressionBenchmark.main bench/resources/sjsonnet_suite/setDiff.jsonnet avgt 0.494 ms/op
125] RegressionBenchmark.main bench/resources/sjsonnet_suite/setInter.jsonnet avgt 0.443 ms/op
125] RegressionBenchmark.main bench/resources/sjsonnet_suite/setUnion.jsonnet avgt 0.778 ms/op
125/125, SUCCESS] ./mill bench.runRegressions 438s
```1 parent 8747841 commit 415524b
2 files changed
Lines changed: 14 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
233 | 233 | | |
234 | 234 | | |
235 | 235 | | |
236 | | - | |
237 | | - | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
238 | 241 | | |
239 | 242 | | |
240 | 243 | | |
| |||
317 | 320 | | |
318 | 321 | | |
319 | 322 | | |
320 | | - | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
321 | 326 | | |
322 | | - | |
| 327 | + | |
| 328 | + | |
323 | 329 | | |
324 | 330 | | |
325 | 331 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
197 | 197 | | |
198 | 198 | | |
199 | 199 | | |
200 | | - | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
201 | 204 | | |
202 | 205 | | |
203 | 206 | | |
| |||
0 commit comments