Hello Racketeers, I am continuing my work on cleaning up our private source code and publishing it as a part of my futures-sort[1] package. Current state of the package is:
- configurable parallelism depth - in-place parallel merge-sort of both vector and fxvector - parallel merge-sort with results going to a freshly allocated vector - support for calling a custom progress reporting function for all variants The only missing piece to put this on par with vector-sort is probably the support for start and end indices and the #:key argument (which we are internally using). I am not entirely sure if key-caching is feasible though. Apart from that and some documentation improvements (mainly for the progress reporting feature), it is basically complete. In the future I'd like to investigate possible speedups by providing optimized code paths for "small" ranges starting with 3 element ranges. I would appreciate any suggestions and/or feature requests. Btw, this is production code we are using to speed up tome tasks both on Linux and Windows. If you want to benchmark it, beware: it is necessary to first sort some large dummy vector to ensure that JIT kicks in (1000 elements is enough with 7.5 on my i7 running Linux). Also I am curious about what is necessary to get the package to a higher ring. There will be no backwards-incompatible changes from now. Any suggestions are - of course - welcome. Cheers, Dominik [1] https://pkgs.racket-lang.org/package/futures-sort -- 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/eeb76294-4057-3226-9cab-a4e9c62afa03%40trustica.cz.