freenode/#clasp - IRC Chatlog
Search
14:46:01
Buje
wrote out a generic function with a comple complicated methods to see how long it takes to compile - 5-6 ms with the bespoke compiler, 16-17 ms with the bclasp
14:48:16
Bike
calling the function a million times takes 310 to 360 ms with bclasp, 240 to 290 ms with bespoke
14:49:50
Bike
the variance is about the same either way, so it's not relevant, so i won't think too hard about it. that's what i'm going with.
14:50:28
Bike
anyway maybe we can just inline the few functions used in the bclasp version and the speed difference will mostly go away and we won't have to think about how to do horrible things with arguments vaslists
15:09:22
Bike
drmeister: so here's one thing - bclasp version doesn't actually use anything in fastgf.cc except cc_read_stamp, so i could just move it and then use it normally
15:10:23
Bike
we'll also want to inline slot accessors, i just remembered, but we can probably do that similarly
15:19:43
beach
Am I understanding you right that you want to remove the bespoke compiler in favor of the existing bclasp compiler for discriminating functions?
15:23:51
beach
I am always in favor of decreasing the maintenance burden, but it is less of a problem for Clasp than for me, given that drmeister has an order of magnitude more work capacity than I do.
15:28:05
Bike
but the main reason is just that if we have common lisp source for discriminating functions, we can put them in fasls. that's nice.
16:53:42
Bike
it's that plus we have like two other tables of special operators, plus it gets even weirder when cleavir is loaded
18:40:08
Bike
well, it's a call to Vaslist::next_arg_raw, and it's under invalidated-entry-point, so i was guessing in a discriminating function somewhere.
18:41:22
drmeister
Can you put this at the top of that function: printf("%s:%d preVaslist -> %p\n", __FILE__, __LINE__, (void*)preVaslist);
18:53:15
moony_
It's so difficult to compile my current PC flat out can't do it haha. Glad i'm going to be replacing it around the end of the month
18:57:47
moony_
drmeister: altho, depending on how you define "of consequence", The Powder Toy (Which i help on) counts. It only takes a minute and a half to build on my AMD A12-9700P (read: horrible) CPU
19:01:42
drmeister
Connect lldb and use: memory read -Gx8g 0x7ffee462e048 and check if it's a va_list followed by a size_t
19:01:57
moony_
drmeister: idk never counted. Enough, in my opinion. We don't need more code like, uh i dunno, the entirety of the simulation? haha.
19:02:14
moony_
https://github.com/ThePowderToy/The-Powder-Toy/blob/master/src/simulation/Simulation.cpp
19:03:53
moony_
it so badly needs a refactor, yet at the same time there's so much behavior not even the guys who work on it the most know about that we can't do it without breaking things
19:05:08
drmeister
I don't get why there is no tag - so check if the memory read shows us something like the va_list structure above.