On 17/11/2023 04:09, Dmitry Gutov wrote: > I can evaluate individual joaot/with-benchmark-group forms, and they > print -- how'd you call it -- minified Lisp data to messages, but it's > not formatted the same way as in your results.txt, nor is it easy to get > out of the -nw session because the clipboard is naturally not shared. Is > -nw needed? I expected it'd be used to print something to stdout. OK, I used just that, as well as 'benchmark-run-compiled' inside 'joaot/bench' instead of the complex expression which chose whether to compile a form. Here are some results. 0) "mine" - just running the tests on your branch. 1) "mine-proper" - is me splitting of the typecheck into a separate method. Not an optimization, just better code. 2) "mine-proper+astoff" - including Augusto's optimization as well. Notably, seq-some gets ahead on big lists by about 1.2x. Not sure how reliable this number is, though. 3) "astoff" - just Augusto's patch. In some cases it's faster than 2 because of no extra dispatch (or multimorphic methods, I guess), but the order-of-magnitude difference is still there in many set-difference examples. Loading m6sparse.el (using (load (expand-file-name "../m6sparse.el" load-file-name)) at the top) didn't seem to affect the results of (2) too much, though it brought -- predictably -- the performance of seq-difference (the original version) further down. Though the results fluctuate a lot, so I might have missed some.