I've been regularly running "smoke" benchmarks for the relation <https://docs.racket-lang.org/relation/index.html?q=relation> library, and just updated from Racket 7.5 (BC) to Racket CS 7.6. In case the data is useful to anybody, here are the before/after times. These benchmarks exercise elementary operations like comparisons for equality and order, function composition, type transformations, algebraic composition of numbers, strings, and so on. On these benchmarks, Racket CS seems to be faster across the board:
Equivalence relations: BC: 529ms CS: 444ms BC: 1661ms CS: 1347ms Order relations: BC: 778ms CS: 539ms BC: 4621ms CS: 3389ms Functional operations: BC: 442ms CS: 435ms BC: 2562ms CS: 2159ms Type transformations: BC: 410ms CS: 354ms BC: 599ms CS: 598ms Algebraic operators: BC: 600ms CS: 494ms BC: 8876ms CS: 6740ms On Tue, Feb 25, 2020 at 9:13 AM John Cowan <co...@ccil.org> wrote: > Perhaps separate OS processes would be a win in this case? > > On Tue, Feb 25, 2020 at 12:03 PM Matthew Butterick <m...@mbtype.com> wrote: > >> >> > On Feb 25, 2020, at 7:05 AM, Matthew Flatt <mfl...@cs.utah.edu> wrote: >> > >> > * CS has a single heap with a single-threaded, stop-the-world GC --- >> > so allocation and GC easily become a bottleneck. >> > >> > If GHC's experience is any guide, making the GC itself multithreaded >> > may address much of this problem. >> > >> > Locks on shared system data structures may also be a significant >> > obstacle to CPU utilization with places in CS, but I'm not sure. >> >> >> >> FWIW some quick timings on a Pollen render of practicaltypography.com. >> Though extra cores have diminishing net returns under Racket BC, the >> returns are still positive. Under Racket CS, by contrast, net performance >> degrades with more than 4 cores. >> >> Racket BC >> >> single core >> real 4m21.191s >> user 3m37.940s >> sys 0m42.388s >> >> parallel @ 2 cores >> real 2m46.235s >> user 4m22.160s >> sys 0m56.270s >> >> parallel @ 3 cores >> real 1m54.134s >> user 4m10.330s >> sys 0m54.533s >> >> parallel @ 4 cores >> real 1m43.055s >> user 4m46.933s >> sys 1m5.948s >> >> parallel @ 6 cores >> real 1m34.783s >> user 6m8.522s >> sys 1m32.125s >> >> parallel @ 8 cores >> real 1m18.137s >> user 6m24.778s >> sys 1m38.617s >> >> parallel @ 12 cores >> real 1m14.924s >> user 8m30.239s >> sys 2m14.671s >> >> Racket CS >> >> single core >> real 5m1.422s >> user 4m16.300s >> sys 0m44.253s >> >> parallel @ 2 cores >> real 3m25.016s >> user 4m45.385s >> sys 0m54.634s >> >> parallel @ 3 cores >> real 2m52.780s >> user 4m57.951s >> sys 1m3.184s >> >> parallel @ 4 cores >> real 2m42.471s >> user 5m22.796s >> sys 1m17.889s >> >> parallel @ 6 cores >> real 2m44.513s >> user 6m26.700s >> sys 1m54.549s >> >> parallel @ 8 cores >> real 2m56.782s >> user 8m4.029s >> sys 2m58.554s >> >> parallel @ 12 cores >> real 3m2.116s >> user 9m34.846s >> sys 5m5.443s >> >> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Racket Users" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to racket-users+unsubscr...@googlegroups.com. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/racket-users/3D11BBCF-B0FE-473B-8997-09B7CB60D761%40mbtype.com >> . >> > -- > You received this message because you are subscribed to the Google Groups > "Racket Users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to racket-users+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/racket-users/CAD2gp_S_kzyXFLCet_u8dHMCk_Wpgf-iS22Z7Az-oCNBXoEm5g%40mail.gmail.com > <https://groups.google.com/d/msgid/racket-users/CAD2gp_S_kzyXFLCet_u8dHMCk_Wpgf-iS22Z7Az-oCNBXoEm5g%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/racket-users/CACQBWF%3D0nTHabYLKD0hyGDPKBq%2B3N%3DkJPbXhm2f%2BjOWckdZtrA%40mail.gmail.com.