bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#21028: Performance regression in revision af1a69f4d17a482c359d98c00e


From: Eli Zaretskii
Subject: bug#21028: Performance regression in revision af1a69f4d17a482c359d98c00ef86fac835b5fac (Apr 2014).
Date: Sat, 18 Jul 2015 14:26:21 +0300

> Date: Sat, 18 Jul 2015 04:16:16 -0700
> From: Clément Pit--Claudel
>  <clement.pitclaudel@live.com>
> CC: Eli Zaretskii <eliz@gnu.org>, 21028@debbugs.gnu.org
> 
> I've spent a bit more time looking into this. The problem is due to the 
> following three lines being conditioned on `!NILP(val)`: (that's around line 
> 2780 of src/font.c)
> 
>     Lisp_Object copy = copy_font_spec (scratch_font_spec);
>     ASET (copy, FONT_TYPE_INDEX, driver_list->driver->type);
>     XSETCDR (cache, Fcons (Fcons (copy, val), XCDR (cache)));
> 
> Before af1a69f, these lines were always run. In af1a69f, they only run if 
> `val` is non nil, causing the regression: on master, moving them back out of 
> the if statement fixes the problem.

Thanks.  Do you understand how doing something only sometimes could be
slower than doing it always?

Given that your profile points to Fontconfig, the only explanation I
can come up with is that doing this conditionally means additional
work in Fontconfig.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]