From: Paul Eggert Date: Tue, 23 Jul 2019 05:09:05 +0000 (-0700) Subject: Tweak performance of cmpfn_profiler X-Git-Tag: emacs-27.0.90~1817^2~160 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=56a3e4a5d366a8453608d9a604ebd5ddb4e52245;p=emacs.git Tweak performance of cmpfn_profiler * src/profiler.c (cmpfn_profiler): Improve performance when VECTORP (bt1) && EQ (bt1, bt2). --- diff --git a/src/profiler.c b/src/profiler.c index ed0e9ddd881..6b482abf335 100644 --- a/src/profiler.c +++ b/src/profiler.c @@ -530,7 +530,9 @@ the same lambda expression, or are really unrelated function. */) static Lisp_Object cmpfn_profiler (Lisp_Object bt1, Lisp_Object bt2, struct Lisp_Hash_Table *h) { - if (VECTORP (bt1) && VECTORP (bt2)) + if (EQ (bt1, bt2)) + return Qt; + else if (VECTORP (bt1) && VECTORP (bt2)) { ptrdiff_t l = ASIZE (bt1); if (l != ASIZE (bt2)) @@ -541,7 +543,7 @@ cmpfn_profiler (Lisp_Object bt1, Lisp_Object bt2, struct Lisp_Hash_Table *h) return Qt; } else - return EQ (bt1, bt2) ? Qt : Qnil; + return Qnil; } static Lisp_Object