diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2019-07-22 22:09:05 -0700 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2019-07-22 22:09:27 -0700 |
commit | 56a3e4a5d366a8453608d9a604ebd5ddb4e52245 (patch) | |
tree | 86b0bc40f4e5fe7b741dac3f937c1523f51f246a /src/profiler.c | |
parent | f378ed1a0b1ca2ceed5afabcf5f303ae339039ba (diff) | |
download | emacs-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.c | 6 |
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 |