Tested with this script on a small codebase (~1k loc) without external dependencies.
full build
real 0m1,694s
user 0m1,645s
sys 0m0,057s
full incremental build
real 0m1,612s
user 0m2,778s
sys 0m0,095s
touch lib.rs
real 0m0,822s
user 0m0,742s
sys 0m0,084s
add noop
real 0m0,186s
user 0m0,174s
sys 0m0,011s
touch and noop timings vary. I’ve seen the timings reversed and also both at 0,8s real in the same run.
Performance takes a nosedive though:
name bench_non_incr.txt ns/iter bench_incr.txt ns/iter diff ns/iter diff % speedup
easy_sudokus_solve 618,866 1,249,210 630,344 101.85% x 0.50
easy_sudokus_solve_at_most_100 639,702 1,296,359 656,657 102.65% x 0.49
easy_sudokus_solve_one 617,948 1,250,965 633,017 102.44% x 0.49
easy_sudokus_solve_unique 641,940 1,291,450 649,510 101.18% x 0.50
hard_sudokus_solve 15,041,161 37,084,056 22,042,895 146.55% x 0.41
hard_sudokus_solve_at_most_100 32,144,725 85,086,005 52,941,280 164.70% x 0.38
hard_sudokus_solve_one 14,924,220 39,948,986 25,024,766 167.68% x 0.37
hard_sudokus_solve_unique 32,019,912 79,508,623 47,488,711 148.31% x 0.40
medium_sudokus_solve 904,421 2,662,662 1,758,241 194.41% x 0.34
medium_sudokus_solve_at_most_100 1,163,545 3,316,556 2,153,011 185.04% x 0.35
medium_sudokus_solve_one 903,868 2,878,149 1,974,281 218.43% x 0.31
medium_sudokus_solve_unique 1,164,439 3,343,948 2,179,509 187.17% x 0.35