freenode/#clim - IRC Chatlog
Search
16:46:41
jackdaniel
we have no data which would indicate, that generic function dispatch is a bottleneck with performance
16:47:05
jackdaniel
if you want to check what is the most demanding (time-wise), you may profile your application with clim.flamegraph
16:47:12
thrasdin
yeah but like are they used everywhere? or only when you need this complex scheme is required
16:47:56
jackdaniel
most machinery in CLIM is specified to work with generic functions, so in this sense they are required
16:48:18
jackdaniel
I did not consider them because I'm sceptical about a claim, that gf dispatch is a bottleneck
16:48:35
jackdaniel
and I'm not going to optimize something what won't impact performance significantly
16:48:58
jackdaniel
if there is some functionality which performance is subpar with other compoments then sure, we may optimize that
16:49:22
jackdaniel
i.e in ttf font renderer we've used an array instead of a hashtable for performance reasons (and it was time well spent)
16:50:48
thrasdin
that said, would you prefer if someone else would do the job or rather you'll just let it stay as it is?
16:51:59
jackdaniel
I wouldn't accept such pr unless there is a solid evidence that it would be clearly beneficial
16:54:32
jackdaniel
i.e I know for a fact, that rendering patterns is subperformant, but gf dispatch is not the problem there;
16:55:14
jackdaniel
they were implemented first to have correct behavior and there are plenty ways to improve the performance (lazy evaluation and memoization of results would be a good first step)
16:55:47
jackdaniel
note, that micromenchmark is not a good evidence, flamegraph of overall run is much better because it shows, what could be optimized
18:32:53
slyrus
I'm pretty sure I've been through this but can't remember the right way to do this (probably more than one). How do I get notification that my window size has changed and trigger my pane's display function to be called again?
18:37:50
slyrus
I don't seem to get a window-configuration-event when I resize the window, which I would expect, but maybe my expectations are off base.
23:10:53
slyrus
Ok, I'm pretty sure an :after method on handle-event for top-level-sheet-pane is the wrong way to go about redisplaying on resize, but it's the only method I've found that comes close to working.
2:02:51
djeis[m]
jackdaniel: Mostly just noted (as you did) that UI bottlenecks are usually elsewhere than dispatch with a few additional examples. Also made the point (from experience) that inlining generic functions only really helps in fairly carefully controlled circumstances.
2:03:43
djeis[m]
Unless there's enough info to statically optimize away parts of the dispatch table all inlining will do is kill your I-cache.