freenode/#sbcl - IRC Chatlog
Search
16:56:31
stylewarning
We are running into a problem where we compile and load an entire system (a vanilla ASD), and we get some performance baseline of the application, then we do (load (compile-file X)), performance improves by about 20%, then (load (compile-file Y)), performance regresses back to normal. Y depends on X, and X precedes Y in the system definition. I looked for compiler policy leakage and that wasn’t it.
17:00:13
stylewarning
(To be clear, this is all without modifying X and Y between each compile/load, incl. starting with a clear cache)
18:01:39
stylewarning
sorry that's not the code, but the actual timing runs. the 4-digit integers are timing in ms
18:07:23
stylewarning
stassats: the program isn't really portable to those (relying on specialized arrays of complex double-floats, which basically nobody else, except CCL and maybe CMUCL, supports)
21:05:59
|3b|
and/or recompiling individual definitions (or groups of definitions) from each file to see if it can be narrowed down
23:46:57
stylewarning
it looks like some intricate interplay with memory layout, garbage production, GC, code location, and who knows what else
23:55:35
|3b|
ACTION would be curious to see callgraph results from sprof for both cases, if function names aren't too prorietary
23:56:08
|3b|
though probably wouldn't show anything interesting if it is just bad luck with memory layout/caching/etc