With equal_lists 18.7s, with !equal_lists 16.1s.
This difference is not due to an obscure compiler bug, the timings
above are with GCC 10, but the timings with Clang 9 are similar: with
equal_lists 19.0s, with !equal_lists 16.6s.
Very interesting. Using the image cache for small images slows Emacs
down? Or is there a bug in equal_lists?
Just to make 100% sure -- could you re-run the benchmark with something
like the following as the function:
static struct image *
search_image_cache (struct frame *f, Lisp_Object spec, EMACS_UINT hash,
unsigned long foreground, unsigned long background,
bool ignore_colors)
{
return NULL;
}