Andrea Corallo writes: > Alan Mackenzie writes: > >> >> I'm seeing 19.4s vs. 22.2s, which is around 15% difference. :-( > > I get 19.30 sec against 16.65 that is 15% difference here too. This is > extremely interesting and would be worth profiling. > > I bet on the GC for this! (Note I'm notoriously wrong when speculating > on benchmarks :) At this point the evening has been dedicated to this. Apparently part of the issue is that GCC is quite conservative on the inline policy and because the more complex condition in EQ decide not to inline this (at least I see this is not done always). This is true for EQ and some of his friends defined in lisp.h. Part of the cost is not the branch itself but the additional procedure activations. Pushing a little more into inlining GCC with the raw attached patch I got it down on the mackenzie-test to 18.17s that is still/just 9% out. The remaining part is probably a little harder to investigate but I still suspect more of a 'side reasons' than a fundamental one. I suggest we try the fine tuning when rebased on 28 if not too hard. Regards Andrea -- akrl@sdf.org