Racket CS performance #30

Closed
opened 4 years ago by mbutterick · 2 comments
mbutterick commented 4 years ago (Migrated from github.com)

Racket CS is the new version of Racket built atop Chez Scheme. For now it’s available as a separate installer. But before too long, it will become the default version of Racket. (Today’s Racket will become known as “Racket BC”)

Today, Racket CS performance is pretty close to parity with Racket BC (though it is continuing to be improved). One area that is notably different, however, is parallel processing.

In my quick tests on Pollen projects, I’ve found that Racket CS performance is optimal at 4 cores (and actually goes slower at 8 cores and 12 cores). Whereas Racket BC always goes faster with more cores.

You can control the number of cores in a parallel job by using the -j X switch (where X is the number of parallel jobs) rather than the -p switch (which is like -j C where C is the total number of cores on your machine).

If you switch to Racket CS early, you may want to experiment with the -j count to find the optimum level.

Conversely, if you’re acclimated to burning hot 40-core Pollen parallel builds, you probably want to stick with Racket BC for a while to come. I expect the parallel performance of Racket CS to improve.

Supernerds who build from source can install both Racket BC and Racket CS (they can peacefully coexist) and compare timings.

[Racket CS](https://blog.racket-lang.org/2020/02/racket-on-chez-status.html) is the new version of Racket built atop Chez Scheme. For now it’s available as a separate installer. But before too long, it will become the default version of Racket. (Today’s Racket will become known as “Racket BC”) Today, Racket CS performance is pretty close to parity with Racket BC (though it is continuing to be improved). One area that is notably different, however, is parallel processing. In my quick tests on Pollen projects, I’ve found that Racket CS performance is optimal at 4 cores (and actually goes slower at 8 cores and 12 cores). Whereas Racket BC always goes faster with more cores. You can control the number of cores in a parallel job by using the `-j X` switch (where `X` is the number of parallel jobs) rather than the `-p` switch (which is like `-j C` where `C` is the total number of cores on your machine). If you switch to Racket CS early, you may want to experiment with the `-j` count to find the optimum level. Conversely, if you’re acclimated to burning hot 40-core Pollen parallel builds, you probably want to stick with Racket BC for a while to come. I expect the parallel performance of Racket CS to improve. Supernerds who build from source can install both Racket BC and Racket CS (they can peacefully coexist) and compare timings.
mbutterick commented 3 years ago (Migrated from github.com)

Racket CS is about to become the default version of Racket (with the upcoming Racket 8.0 release). According to the newest technical report, parallel processing is much improved compared to earlier versions.

Racket CS is about to become the default version of Racket (with the upcoming Racket 8.0 release). According to the [newest technical report](https://blog.racket-lang.org/2021/01/racket-status.html), parallel processing is much improved compared to earlier versions.
otherjoel commented 3 years ago (Migrated from github.com)

Just tried out 8.0 CS on one of my Pollen projects. The build does raco pollen setup -p followed by raco pollen render -p on a directory full of Pollen documents, along with a few other tasks. Two builds (each preceded by raco pollen reset) using Racket 7.8 BC on my mid-2015 MBP finished in 61 and 59 seconds; two builds using Racket 8.0 CS finished in 65 and 63 seconds. Seems much better than earlier CS versions, and not intolerably worse than BC.

Just tried out 8.0 CS on one of my Pollen projects. The build does `raco pollen setup -p` followed by `raco pollen render -p` on a directory full of Pollen documents, along with a few other tasks. Two builds (each preceded by `raco pollen reset`) using Racket 7.8 BC on my mid-2015 MBP finished in 61 and 59 seconds; two builds using Racket 8.0 CS finished in 65 and 63 seconds. Seems much better than earlier CS versions, and not intolerably worse than BC.
This repo is archived. You cannot comment on issues.
No Milestone
No project
No Assignees
1 Participants
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: mbutterick/pollen-users#30
Loading…
There is no content yet.