I have updated the Travis build file for my application to use Racket-on-Chez
as one of the build configurations and, while the code builds and automated
tests pass, the performance is very poor. I know that measuring times of
Travis builds is not exactly scientific, however, I have run these builds four
times and there is not much variations in the numbers. Here is a summary of my
findings (Racket CS is the build from Dec 6, 2018):
* Racket CS runs out of memory when assembling a distribution (a "raco dist"
command) -- my current build script runs the equivalent of "raco make",
"raco exe" and "raco dist" from the same racket process, perhaps memory is
not released?
* Build time for my application, "raco make", is 98 seconds for Racket 7.1 and
187 seconds for Racket CS
* `df-test`, a test that runs mostly Racket code, has increased from
approximatly 5 seconds in Racket 7.1 to about 14 seconds in Racket CS.
* `db-upgrade-test` is a test that mostly runs SQL code inside SQLite, the
racket code just reads SQL statements and executes them. This test runs in
the same amount of time.
* the remaining tests, `db-test`, `trends-test` `aggregate-test` and
`fit-test` all have running times that are about 50% larger in Racket CS
when compared to Racket 7.1. These test spend a significant amout of time
running SQL code which has not changed in timing, so the performance drop of
the Racket code is probably worse than that.
None of the above are actual performance tests -- they are meant to verify
that the application works correctly, they just happen to run for a long time
even in Racket 7.1 and they make perfromance problems show up more clearly.
I have summarized my results here:
You can also find the build logs below, Travis adds timings for each step and
the builds are 209, 210, 211 -- the first round in the spread sheet is a
restart of 209 and unfortunately Travis has not kept the logs for the original
build:
Is Racket-on-Chez built in debug mode? The installation size for Racket CS is
1.9 Gb while the installation size for Racket 7.1 is approximately 0.5 Gb...
I have not installed and run Racket CS on my machine, so I don't know if the
final application runs and what the user level performance is.
Best Regards,
Alex.