Search
Thursday, 11th of October 2018, 17:22:22 UTC
17:50:02
stassats
stylewarning: what kind of stuff is in them?
17:51:04
stylewarning
X has structs and functions
17:51:10
stylewarning
Y has variables and functions
17:52:36
stassats
and doing (load (compile-file X)) again?
17:53:52
stassats
my only hypothesis is where in memory the code ends up being located
17:54:31
stylewarning
stassats: it improves
17:54:49
stassats
is it clear, consistent and repeatable?
17:55:09
stassats
and the runtime doesn't run on the order of 100ms?
17:56:23
stylewarning
The difference is 1-2 seconds in runtime (of a total of 6-7 seconds)
17:57:11
stassats
are you sure that Y isn't redefining something?
17:57:27
stylewarning
Yes, I checked that first.
18:00:12
stassats
only one thing left, to show the code
18:01:26
stylewarning
stassats: http://codepad.org/6lQSiRKs
18:01:39
stylewarning
sorry that's not the code, but the actual timing runs. the 4-digit integers are timing in ms
18:02:13
stassats
so there's a lot of variation
18:03:36
stassats
is there anything else running, is cpu frequency scaling disabled?
18:04:19
stylewarning
stassats: good suggestion; let's see
18:06:00
stassats
and do you not intend to run on ecl or clisp?
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:25
|3b|
stylewarning: tried profiling both cases to see if there is an obvious location?
21:05:59
|3b|
and/or recompiling individual definitions (or groups of definitions) from each file to see if it can be narrowed down
21:08:22
stylewarning
im trying the second bit now
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
Friday, 12th of October 2018, 5:22:22 UTC