On 10.05.2021 20:25, Taylan Kammer wrote:
> 
> - Improved expand-time performance for large test suites
> 

I thought it would be a good idea to quantify this, so I
benchmarked the compilation performance of a test suite
of 289 tests (that of the scheme-bytsetructures library),
and had the following results.

The first three compilations are with stock Guile 3.0.7,
and the latter three are with the patch that replaces
the SRFI-64 implementation applied to 3.0.7.


=== snip ===

$ touch run-tests.guile.scm && time /opt/guile-3.0.7/bin/guild compile -L . 
run-tests.guile.scm 
wrote `.../run-tests.guile.scm.go'

real    0m9.465s
user    0m12.787s
sys     0m2.179s

$ touch run-tests.guile.scm && time /opt/guile-3.0.7/bin/guild compile -L . 
run-tests.guile.scm 
wrote `.../run-tests.guile.scm.go'

real    0m9.419s
user    0m12.988s
sys     0m1.842s

$ touch run-tests.guile.scm && time /opt/guile-3.0.7/bin/guild compile -L . 
run-tests.guile.scm 
wrote `.../run-tests.guile.scm.go'

real    0m9.387s
user    0m13.132s
sys     0m1.656s

$ touch run-tests.guile.scm && time /opt/guile-master/bin/guild compile -L . 
run-tests.guile.scm 
wrote `.../run-tests.guile.scm.go'

real    0m4.371s
user    0m5.903s
sys     0m1.239s

$ touch run-tests.guile.scm && time /opt/guile-master/bin/guild compile -L . 
run-tests.guile.scm 
wrote `.../run-tests.guile.scm.go'

real    0m4.556s
user    0m6.836s
sys     0m1.502s

$ touch run-tests.guile.scm && time /opt/guile-master/bin/guild compile -L . 
run-tests.guile.scm 
wrote `.../run-tests.guile.scm.go'

real    0m4.493s
user    0m6.273s
sys     0m1.767s

=== /snip ===


As you can see, the time to compile the test suite is cut in half.


Here's the test suite used for the benchmark:

https://github.com/TaylanUB/scheme-bytestructures/blob/master/run-tests.body.scm

(That file is included from run-test.guile.scm.)


- Taylan

Reply via email to