bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#65491: [PATCH] Improve performance allocating vectors


From: Ihor Radchenko
Subject: bug#65491: [PATCH] Improve performance allocating vectors
Date: Sat, 26 Aug 2023 08:07:29 +0000

Ihor Radchenko <yantar92@posteo.net> writes:

> Do you mean something like scrolling performance when scrolling a large
> Arabic/Korean text file?

I downloaded Quran from https://tanzil.net/download/, opened it Emacs
like

$ perf record ./src/emacs -Q ~/Downloads/quran-simple-plain.txt

and scrolled the buffer with PgDown all the way to the bottom.
It does not look like allocation vectors is all that heavy here
(compared to the edge case with fib.el with bignums).

without the patch:

    10.14%  emacs           emacs                            [.] 
process_mark_stack
     3.79%  emacs           emacs                            [.] 
sub_char_table_ref
     3.68%  emacs           emacs                            [.] 
x_draw_glyph_string
     2.75%  emacs           libc.so.6                        [.] 
pthread_mutex_lock
     1.75%  emacs           libc.so.6                        [.] 
0x0000000000088b0a
->   1.41%  emacs           emacs                            [.] 
allocate_vectorlike
     1.30%  emacs           emacs                            [.] sweep_vectors
     1.27%  emacs           emacs                            [.] char_table_ref

with the patch

     9.97%  emacs           emacs                             [.] 
process_mark_stack
     4.30%  emacs           emacs                             [.] 
x_draw_glyph_string
     3.58%  emacs           emacs                             [.] 
sub_char_table_ref
     2.66%  emacs           libc.so.6                         [.] 
pthread_mutex_lock
     1.87%  emacs           libc.so.6                         [.] 
0x0000000000088b0a
     1.29%  emacs           emacs                             [.] sweep_vectors
     1.22%  emacs           emacs                             [.] face_for_font
     1.17%  emacs           emacs                             [.] char_table_ref
...
->   0.26%  emacs           emacs                             [.] 
allocate_vectorlike

1.41% down to 0.26% ~5x speedup.

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>





reply via email to

[Prev in Thread] Current Thread [Next in Thread]