Measuring slot access cost in Common Lisp
I’ve been interested in how slow CLOS slot access is in Common Lisp. Here’s how I measured it.
I’ve been interested in how slow CLOS slot access is in Common Lisp. Here’s how I measured it.
Access to slots in CLOS instances is often very slow. It’s probably not possible for it ever to be really fast, but the AMOP MOP does provide a way of making it, at least, less slow.
Or, second system.
Some very serious rules. Very serious.
Or, constantp is not enough.
For a long time I’ve used a little macro to time chunks of code to avoid an endless succession of boilerplate functions to do this. I’ve finally published the wretched thing.
I am just really bored by Lisp Machine romantics at this point: they should go away. I expect they never will.
Iteration forms and forms which accumulate values don’t have to be the same thing. I think that it turns out that separating them works rather well.
I have improved my trace-macroexpand system so you can say, in effect ‘trace the expansion of only the macros in the interface to a given package’. This is a fairly useful thing.
My macroexpansion tracer can now print per-line prefixes when tracing, which can make things more readable.