]> git.eshelyaron.com Git - emacs.git/commitdiff
Tweak performance of cmpfn_profiler
authorPaul Eggert <eggert@cs.ucla.edu>
Tue, 23 Jul 2019 05:09:05 +0000 (22:09 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Tue, 23 Jul 2019 05:09:27 +0000 (22:09 -0700)
* src/profiler.c (cmpfn_profiler):
Improve performance when VECTORP (bt1) && EQ (bt1, bt2).

src/profiler.c

index ed0e9ddd8811126002ae74491f385db19a6adc84..6b482abf335e0da6230dcd647d8079e020eae705 100644 (file)
@@ -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