freenode/#clasp - IRC Chatlog
Search
16:45:27
Shinmera
I'd estimate that in most libraries accessors will dominate both in definition and usage frequency
16:47:21
Bike
i can't measure actual calls without some slowing instrumentation, though it would still be interesting
16:47:48
Shinmera
Can't you get pretty low overhead instrumentation with linux tools like perf or what?
16:48:42
Bike
prrrrrobably, but i'm not immediately sure how to use that with the clos infrastructure
16:50:41
Bike
just thought i'd try to get a bit of evidence for the idea that most effective methods only involve one method, really
18:10:29
Bike
ok, there actually is code to not do the valist stuff when it's not needed, it's just that the "effective methods need valist" variable is constant t at the moment
18:29:40
Bike
as far as i can tell the only reason this isn't working is that i can't guess the right accessor to use
19:05:05
Bike
passing the registers raw probably won't work, since the closure has to be passed correctly
19:09:54
Bike
so i can't do this in any obvious way because i can't get the regular arguments to the gf
19:38:03
Bike
it is kind of interesting how fastgf makes gfs static, or rather allows using a static way of optimizing for a dynamic system. i think even more severe things like cutting method bodies together as an effective method to be compiled probably would make sense, performancewise
20:04:43
Bike
...right, all my changes were reverted as part of something else. i am going to do that again and it will stick
21:17:36
Bike
hoo, i thought i hit a bug that was going to be hugely irritating to find, but worked it out. go two minute breaks
21:20:38
Bike
and another quick survey shows they make up a little over half of all the single-method case
21:54:59
Bike
But when we call the fast method function we need the closure to be the fast method function.
21:56:00
drmeister
Bike: If you aren't tied up with something else - could you come be a sounding board to my latest exception handling problem.
21:56:16
drmeister
I keep upping my game with the debugging but eh seems to be one step ahead of me every freaking time.
2:23:41
drmeister
I'm pretty sure there is a very long standing problem lurking in Clasp's exception handling when exceptions are thrown in cleanup clauses. I'm pretty sure it has something to do with cxa_begin_catch/cxa_end_catch/rethrow
2:24:25
drmeister
I might be failing to pop entries from the exception stack - it would be really useful if I could interrogate the exception stack - must look into it.
3:03:14
beach
Common Lisp signals are a model of simplicity compared to the description of C++ exception handling in that article.
3:04:38
drmeister
Yeah - unfortunately everything rests on me figuring out the C++ exception handling. It's amazing that I got it almost right but not quite.
3:05:07
beach
Bike: Yes, you are right, some optimizations are possible because we always have all the code at our disposal, so they resemble static optimizations. When the code changes, we just adapt to the new version of the entire code.
3:05:44
beach
Bike: I am pretty sure there are many other such optimization opportunities to explore.