sw5355700
2022-7-3 20:43:05

Out of all the most popular programming languages that are being used only JavaScript can compare to Lisp’s semantics. So that’s what makes Lisp so great. It has large semantics and useful features that are mostly unique compared when compared with the contemporary.


pavpanchekha
2022-7-3 22:57:26

Look I know I’m going crazy optimizing the hell out of this code, but what low-level optimization tools are available in Racket? For example, can I examine generated assembly?


sorawee
2022-7-3 23:03:14

Instead of just running racket file.rkt, run PLT_LINKLET_SHOW_ASSEMBLY=1 racket file.rkt


sorawee
2022-7-3 23:03:27

Should show you additional information.


pavpanchekha
2022-7-3 23:03:40

Ooh great, thanks!


pavpanchekha
2022-7-3 23:04:04

I wanna know if pointer comparisons are actually comparing pointers :)


samth
2022-7-4 02:27:27

raco decompile also show generated assembly


samth
2022-7-4 02:27:54

and if you use HEAD you have some ability to see individual chez passes with my most recent change


samth
2022-7-4 02:52:57

I want to hear about the results after you’re done with this, btw


pavpanchekha
2022-7-4 03:03:38

I’ll try to write a blog post before I forget. It’s a very long optimization story, as all the best are, because at the start this one thing was like 90% of runtime, and now it’s like 10%.


pavpanchekha
2022-7-4 03:04:15

And it just doesn’t feel to me like it should be slow. In C I’m sure it would zip.


samth
2022-7-4 03:06:13

well that’s already a pretty good result


pavpanchekha
2022-7-4 03:06:30

Faster is better!


pavpanchekha
2022-7-4 03:06:56

The reason I’m so invested in it is that is not the part of Herbie that “does stuff”


pavpanchekha
2022-7-4 03:07:17

I’m happy with “does stuff” taking a while, less excited about “bookkeeping” being the big blocker


pavpanchekha
2022-7-4 03:07:52

And if we can get this to be very fast, we can potentially release a big new feature as the default (finding multiple options with different cost/accuracy tradeoffs)


pavpanchekha
2022-7-4 03:12:25

(I’ve also managed to delete some ugly bits of code whose job was to send fewer inputs to this pruning procedure. Once pruning is fast enough, we don’t need to avoid it!)