summaryrefslogtreecommitdiff
path: root/src/profiler.c
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2019-07-22 22:09:05 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2019-07-22 22:09:27 -0700
commit56a3e4a5d366a8453608d9a604ebd5ddb4e52245 (patch)
tree86b0bc40f4e5fe7b741dac3f937c1523f51f246a /src/profiler.c
parentf378ed1a0b1ca2ceed5afabcf5f303ae339039ba (diff)
downloademacs-56a3e4a5d366a8453608d9a604ebd5ddb4e52245.tar.gz
Tweak performance of cmpfn_profiler
* src/profiler.c (cmpfn_profiler): Improve performance when VECTORP (bt1) && EQ (bt1, bt2).
Diffstat (limited to 'src/profiler.c')
-rw-r--r--src/profiler.c6
1 files changed, 4 insertions, 2 deletions
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