From: Ihor Radchenko <yantar92@posteo.net>
To: Eli Zaretskii <eliz@gnu.org>
Cc: dmitry@gutov.dev, acm@muc.de, incal@dataswamp.org, emacs-devel@gnu.org
Subject: Re: Emacs design and architecture. How about copy-on-write?
Date: Thu, 21 Sep 2023 10:41:52 +0000 [thread overview]
Message-ID: <87pm2bzu33.fsf@localhost> (raw)
In-Reply-To: <83il84c3p4.fsf@gnu.org>
Eli Zaretskii <eliz@gnu.org> writes:
> Regardless of all of the above, any expensive processing that can be
> divided between several execution units will take less elapsed time,
> right?
Not necessarily. Only when the particular algorithm used can be
effectively converted into concurrent version. Sometimes, concurrent
version performs worse.
> ... So, for example, processing text properties of two buffers
> sequentially by the same thread (as this is done now) will take longer
> than processing them concurrently in parallel, right?
> ... So redisplaying
> two windows by two independent threads running concurrently on two
> execution units will be faster, right?
If the processing is completely independent, it is probably true.
Unless overheads to create new threads are comparable with processing
time (will matter for small buffers that can be process quickly).
>> I believe that it is more a question of rewriting text property handling
>> into multiple segment trees dedicated to individual properties.
>
> Not as far as redisplay is concerned, no. The display engine _wants_
> to look for the next change in any text property, because it processes
> them all "together". That is, it finds the buffer position where any
> of the text properties change, then hands that position to each of the
> known methods for handling property changes so that each one of them
> does its thing.
This is... not what I know. May you please point me where in the code it
is done?
From my previous experience, there separate processing of invisible
property and separate processing of composition property. But not
generic processing looking into all present text properties, including
the ones unrelated to redisplay.
--
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>
next prev parent reply other threads:[~2023-09-21 10:41 UTC|newest]
Thread overview: 373+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-27 15:14 Shrinking the C core Arthur Miller
2023-08-27 16:29 ` Eli Zaretskii
2023-08-28 5:32 ` Gerd Möllmann
2023-08-28 6:23 ` Arthur Miller
2023-08-28 6:21 ` Arthur Miller
2023-08-28 1:31 ` Richard Stallman
2023-08-28 5:50 ` Arthur Miller
2023-08-28 12:20 ` Po Lu
2023-08-28 14:39 ` Arthur Miller
2023-08-28 15:17 ` Po Lu
2023-08-29 2:41 ` Arthur Miller
2023-08-28 1:41 ` Po Lu
2023-08-28 2:53 ` chad
2023-08-28 3:43 ` Emanuel Berg
2023-08-28 4:53 ` Arthur Miller
2023-08-28 5:36 ` Po Lu
2023-08-28 6:55 ` Arthur Miller
2023-08-28 7:31 ` Po Lu
2023-08-28 8:06 ` Ihor Radchenko
2023-08-28 14:30 ` Arthur Miller
2023-08-28 15:09 ` Ihor Radchenko
2023-08-29 2:20 ` Arthur Miller
2023-08-28 15:14 ` Po Lu
2023-08-29 2:36 ` Arthur Miller
2023-08-29 4:07 ` Po Lu
2023-08-31 1:07 ` Emanuel Berg
2023-08-28 14:08 ` Arthur Miller
2023-08-28 15:08 ` Po Lu
2023-08-29 2:06 ` Arthur Miller
2023-08-29 4:15 ` Po Lu
2023-08-29 11:50 ` Eli Zaretskii
2023-08-29 3:57 ` Arthur Miller
2023-09-01 1:18 ` Richard Stallman
2023-08-31 2:07 ` Richard Stallman
2023-09-01 14:58 ` Arthur Miller
2023-09-01 16:36 ` tomas
2023-09-04 1:32 ` Richard Stallman
2023-09-04 1:44 ` Emanuel Berg
2023-09-04 5:49 ` Rudolf Schlatte
2023-09-04 14:08 ` Emanuel Berg
2023-09-07 1:21 ` Richard Stallman
2023-09-07 1:54 ` Emanuel Berg
2023-09-07 7:02 ` tomas
2023-09-07 7:36 ` Alfred M. Szmidt
2023-09-07 7:56 ` Emanuel Berg
2023-09-07 8:19 ` Ihor Radchenko
2023-09-07 8:39 ` Emanuel Berg
2023-09-07 9:28 ` Alfred M. Szmidt
2023-09-09 1:00 ` Emanuel Berg
2023-09-09 6:25 ` Po Lu
2023-09-09 7:24 ` Eli Zaretskii
2023-09-07 9:31 ` Eli Zaretskii
2023-09-07 9:39 ` Ihor Radchenko
2023-09-09 1:06 ` Emanuel Berg
2023-09-11 0:43 ` Richard Stallman
2023-09-11 12:24 ` Eli Zaretskii
2023-09-11 12:43 ` tomas
2023-09-13 5:59 ` Emanuel Berg
2023-09-12 4:44 ` Gerd Möllmann
2023-09-12 12:25 ` João Távora
2023-09-12 11:31 ` Lynn Winebarger
2023-09-12 13:00 ` Emacs design and architecture (was: Shrinking the C core) Eli Zaretskii
2023-09-13 20:52 ` Lynn Winebarger
2023-09-13 21:19 ` Christopher Dimech
2023-09-14 6:01 ` Eli Zaretskii
2023-09-15 0:13 ` Richard Stallman
2023-09-15 4:39 ` Emacs design and architecture Werner LEMBERG
2023-09-17 0:43 ` Richard Stallman
2023-09-17 13:22 ` Werner LEMBERG
2023-09-14 5:57 ` Emacs design and architecture (was: Shrinking the C core) Eli Zaretskii
2023-09-14 6:30 ` Emacs design and architecture Gerd Möllmann
2023-09-14 6:38 ` Po Lu
2023-09-14 6:49 ` Gerd Möllmann
2023-09-14 15:03 ` Helmut Eller
2023-09-14 15:30 ` Gerd Möllmann
2023-09-14 16:21 ` Helmut Eller
2023-09-17 0:46 ` Richard Stallman
2023-09-17 13:02 ` Björn Bidar
2023-09-19 10:19 ` Richard Stallman
2023-09-14 16:23 ` Philip Kaludercic
2023-09-14 16:50 ` joakim
2023-09-14 16:30 ` Emacs design and architecture (was: Shrinking the C core) Lynn Winebarger
2023-09-14 16:52 ` Eli Zaretskii
2023-09-14 21:35 ` Dmitry Gutov
2023-09-15 5:50 ` Eli Zaretskii
2023-09-15 6:51 ` Yuri Khan
2023-09-15 7:23 ` Emacs design and architecture Max Brieiev
2023-09-15 7:30 ` Emacs design and architecture (was: Shrinking the C core) Eli Zaretskii
2023-09-15 9:32 ` Emacs design and architecture Gerd Möllmann
2023-09-15 15:52 ` Dmitry Gutov
2023-09-15 18:36 ` Gerd Möllmann
2023-09-15 18:42 ` Eli Zaretskii
2023-09-15 19:19 ` Gerd Möllmann
2023-09-15 22:20 ` Dmitry Gutov
2023-09-15 23:58 ` Emanuel Berg
2023-09-16 6:00 ` Eli Zaretskii
2023-09-17 12:16 ` Emanuel Berg
2023-09-17 14:24 ` Eli Zaretskii
2023-09-17 15:36 ` Emacs design and architecture. How about copy-on-write? Alan Mackenzie
2023-09-18 10:30 ` Eli Zaretskii
2023-09-18 11:38 ` Alan Mackenzie
2023-09-18 12:08 ` Eli Zaretskii
2023-09-18 12:49 ` Ihor Radchenko
2023-09-18 14:27 ` Eli Zaretskii
2023-09-18 15:55 ` Ihor Radchenko
2023-09-18 17:47 ` Eli Zaretskii
2023-09-18 22:48 ` Emanuel Berg
2023-09-19 10:53 ` Eli Zaretskii
2023-09-19 11:14 ` Emanuel Berg
2023-09-19 12:37 ` Ihor Radchenko
2023-09-19 19:21 ` Emanuel Berg
2023-09-20 9:56 ` Ihor Radchenko
2023-09-22 15:50 ` Emanuel Berg
2023-09-22 16:15 ` Ihor Radchenko
2023-09-22 16:22 ` Emanuel Berg
2023-09-22 18:08 ` Eli Zaretskii
2023-09-19 19:34 ` Emanuel Berg
2023-09-20 9:59 ` Ihor Radchenko
2023-09-20 10:22 ` Po Lu
2023-09-20 10:56 ` Ihor Radchenko
2023-09-20 11:11 ` Po Lu
2023-09-20 11:53 ` Ihor Radchenko
2023-09-20 11:58 ` Po Lu
2023-09-20 12:05 ` Ihor Radchenko
2023-09-20 13:35 ` Po Lu
2023-09-20 15:53 ` Eli Zaretskii
2023-09-21 0:55 ` Po Lu
2023-09-21 3:35 ` Po Lu
2023-09-21 7:27 ` Eli Zaretskii
2023-09-21 7:34 ` Po Lu
2023-09-21 8:13 ` Eli Zaretskii
2023-09-21 8:35 ` Ihor Radchenko
2023-09-21 9:59 ` Eli Zaretskii
2023-09-21 10:13 ` Ihor Radchenko
2023-09-21 11:49 ` Po Lu
2023-09-21 23:43 ` Dmitry Gutov
2023-09-21 12:57 ` Eli Zaretskii
2023-09-21 13:12 ` Po Lu
2023-09-21 13:29 ` Eli Zaretskii
2023-09-21 13:35 ` Po Lu
2023-09-21 13:49 ` Eli Zaretskii
2023-09-21 13:57 ` Po Lu
2023-09-21 14:10 ` Eli Zaretskii
2023-09-21 9:14 ` Po Lu
2023-09-22 15:59 ` Emanuel Berg
2023-09-22 16:45 ` [External] : " Drew Adams
2023-09-25 13:31 ` Emanuel Berg
2023-09-19 12:38 ` Eli Zaretskii
2023-09-19 12:57 ` Po Lu
2023-09-19 14:36 ` Eli Zaretskii
2023-09-20 1:05 ` Po Lu
2023-09-20 12:02 ` Eli Zaretskii
2023-09-20 12:09 ` Ihor Radchenko
2023-09-20 12:27 ` Po Lu
2023-09-19 19:38 ` Emanuel Berg
2023-09-20 12:35 ` Eli Zaretskii
2023-09-22 14:22 ` Emanuel Berg
2023-09-22 15:51 ` Eli Zaretskii
2023-09-22 16:00 ` Emanuel Berg
2023-09-22 19:00 ` Eli Zaretskii
2023-09-22 21:14 ` Emanuel Berg
2023-09-22 16:11 ` Ihor Radchenko
2023-09-22 16:14 ` Eli Zaretskii
2023-09-22 16:27 ` Ihor Radchenko
2023-09-22 17:19 ` Emanuel Berg
2023-09-22 16:13 ` tomas
2023-09-19 11:36 ` Ihor Radchenko
2023-09-19 12:34 ` Eli Zaretskii
2023-09-19 13:35 ` Ihor Radchenko
2023-09-19 14:14 ` Eli Zaretskii
2023-09-19 15:15 ` Dmitry Gutov
2023-09-19 15:37 ` Eli Zaretskii
2023-09-19 16:01 ` Dmitry Gutov
2023-09-19 17:54 ` Eli Zaretskii
2023-09-19 20:21 ` Dmitry Gutov
2023-09-20 11:28 ` Eli Zaretskii
2023-09-20 11:38 ` Ihor Radchenko
2023-09-20 14:35 ` Eli Zaretskii
2023-09-21 10:41 ` Ihor Radchenko [this message]
2023-09-21 13:26 ` Eli Zaretskii
2023-09-22 10:05 ` Ihor Radchenko
2023-09-22 11:53 ` Eli Zaretskii
2023-09-22 12:49 ` Ihor Radchenko
2023-09-22 13:01 ` Eli Zaretskii
2023-09-22 13:08 ` Ihor Radchenko
2023-09-20 12:21 ` Po Lu
2023-09-20 14:51 ` Eli Zaretskii
2023-09-20 19:39 ` Dmitry Gutov
2023-09-21 4:31 ` Eli Zaretskii
2023-09-21 10:41 ` Dmitry Gutov
2023-09-21 22:21 ` Stefan Kangas
2023-09-21 23:01 ` Dmitry Gutov
2023-09-21 0:41 ` Po Lu
2023-09-21 2:23 ` Adam Porter
2023-09-21 2:53 ` Po Lu
2023-09-21 7:25 ` Eli Zaretskii
2023-09-21 7:48 ` Po Lu
2023-09-21 8:18 ` Eli Zaretskii
2023-09-21 9:25 ` Po Lu
2023-09-21 9:39 ` Ihor Radchenko
2023-09-21 10:36 ` Dmitry Gutov
2023-09-21 10:48 ` Ihor Radchenko
2023-09-21 11:10 ` Dmitry Gutov
2023-09-21 11:17 ` Ihor Radchenko
2023-09-21 11:27 ` Dmitry Gutov
2023-09-21 11:36 ` Debouncing slow mode line constructs (was: Emacs design and architecture. How about copy-on-write?) Ihor Radchenko
2023-09-21 11:56 ` Dmitry Gutov
2023-09-22 10:07 ` Ihor Radchenko
2023-09-22 11:55 ` Eli Zaretskii
2023-09-22 12:50 ` Ihor Radchenko
2023-09-22 13:04 ` Eli Zaretskii
2023-09-22 13:10 ` Ihor Radchenko
2023-09-22 13:14 ` Eli Zaretskii
2023-09-23 10:54 ` Ihor Radchenko
2023-09-21 13:48 ` Eli Zaretskii
2023-09-22 10:23 ` Ihor Radchenko
2023-09-22 12:08 ` Eli Zaretskii
2023-09-22 13:03 ` Ihor Radchenko
2023-09-22 13:06 ` Eli Zaretskii
2023-09-22 13:19 ` Ihor Radchenko
2023-09-22 14:41 ` Eli Zaretskii
2023-09-23 11:10 ` Ihor Radchenko
2023-09-22 12:52 ` Dmitry Gutov
2023-09-22 15:05 ` [External] : " Drew Adams
2023-09-21 13:00 ` Emacs design and architecture. How about copy-on-write? Eli Zaretskii
2023-09-21 13:30 ` Dmitry Gutov
2023-09-21 13:44 ` Eli Zaretskii
2023-09-22 1:29 ` Dmitry Gutov
2023-09-22 10:51 ` Ihor Radchenko
2023-09-22 10:28 ` Ihor Radchenko
2023-09-22 12:26 ` Eli Zaretskii
2023-09-22 13:06 ` Ihor Radchenko
2023-09-22 13:12 ` Eli Zaretskii
2023-09-21 10:03 ` Eli Zaretskii
2023-09-20 19:22 ` Dmitry Gutov
2023-09-21 4:29 ` Eli Zaretskii
2023-09-21 20:24 ` Richard Stallman
2023-09-20 9:47 ` Ihor Radchenko
2023-09-20 14:02 ` Eli Zaretskii
2023-09-21 10:29 ` Ihor Radchenko
2023-09-21 14:02 ` Eli Zaretskii
2023-09-22 10:48 ` Ihor Radchenko
2023-09-22 12:34 ` Eli Zaretskii
2023-09-23 11:07 ` Ihor Radchenko
2023-09-23 11:23 ` Eli Zaretskii
2023-09-23 12:53 ` Dmitry Gutov
2023-09-23 13:01 ` Eli Zaretskii
2023-09-23 13:08 ` Dmitry Gutov
2023-09-23 13:15 ` Eli Zaretskii
2023-09-23 14:09 ` Ihor Radchenko
2023-09-24 0:29 ` Dmitry Gutov
2023-09-23 14:23 ` Yuri Khan
2023-09-23 14:25 ` Dmitry Gutov
2023-09-18 13:30 ` Po Lu
2023-09-18 13:34 ` Po Lu
2023-09-18 13:55 ` Ihor Radchenko
2023-09-18 15:04 ` Eli Zaretskii
2023-09-18 23:41 ` Po Lu
2023-09-19 14:25 ` Eli Zaretskii
2023-09-20 1:01 ` Po Lu
2023-09-20 11:56 ` Eli Zaretskii
2023-09-20 12:13 ` Po Lu
2023-09-20 14:46 ` Eli Zaretskii
2023-09-20 18:50 ` Dmitry Gutov
2023-09-21 4:23 ` Eli Zaretskii
2023-09-21 10:08 ` Ihor Radchenko
2023-09-21 10:12 ` Eli Zaretskii
2023-09-21 10:35 ` Ihor Radchenko
2023-09-21 13:13 ` Eli Zaretskii
2023-09-19 21:37 ` Björn Bidar
2023-09-19 10:20 ` Richard Stallman
2023-09-18 21:38 ` Emacs design and architecture Emanuel Berg
2023-09-16 8:41 ` Gerd Möllmann
2023-09-16 11:02 ` Dmitry Gutov
2023-09-16 11:59 ` Sebastian Miele
2023-09-16 13:00 ` Po Lu
2023-09-16 13:08 ` Gerd Möllmann
2023-09-16 13:25 ` Po Lu
2023-09-16 14:20 ` Björn Bidar
2023-09-16 16:33 ` Dmitry Gutov
2023-09-16 17:07 ` Gerd Möllmann
2023-09-16 17:30 ` Dmitry Gutov
2023-09-16 18:33 ` Gerd Möllmann
2023-09-16 19:18 ` Lynn Winebarger
2023-09-16 20:02 ` Gerd Möllmann
2023-09-16 19:40 ` Dmitry Gutov
2023-09-16 20:01 ` Gerd Möllmann
2023-09-16 23:50 ` Po Lu
2023-09-16 16:24 ` Dmitry Gutov
2023-09-16 23:46 ` Po Lu
2023-09-17 6:08 ` Immanuel Litzroth
2023-09-17 6:43 ` Po Lu
2023-09-17 18:51 ` Dmitry Gutov
2023-09-18 0:11 ` Po Lu
2023-09-18 10:46 ` Dmitry Gutov
2023-09-18 11:12 ` Po Lu
2023-09-18 11:19 ` Dmitry Gutov
2023-09-20 18:35 ` Richard Stallman
2023-09-20 18:59 ` Eli Zaretskii
2023-09-17 23:02 ` Richard Stallman
2023-09-19 18:22 ` chad
2023-09-21 20:26 ` Richard Stallman
2023-09-22 0:31 ` Bob Rogers
2023-09-23 7:13 ` Richard Stallman
2023-09-18 18:48 ` Dmitry Gutov
2023-09-19 23:14 ` Richard Stallman
2023-09-17 23:03 ` Richard Stallman
2023-09-15 23:26 ` Emanuel Berg
2023-09-16 9:09 ` Gerd Möllmann
2023-09-17 7:34 ` Gerd Möllmann
2023-09-17 15:44 ` Helmut Eller
2023-09-17 16:23 ` Eli Zaretskii
2023-09-18 6:36 ` Gerd Möllmann
2023-09-15 15:10 ` Emacs design and architecture (was: Shrinking the C core) Dmitry Gutov
2023-09-15 15:13 ` Dmitry Gutov
2023-09-17 0:45 ` Richard Stallman
2023-09-17 6:31 ` Eli Zaretskii
2023-09-19 10:22 ` Richard Stallman
2023-09-19 14:31 ` Eli Zaretskii
2023-10-12 12:27 ` Richard Stallman
2023-09-13 6:12 ` Shrinking the C core Emanuel Berg
2023-09-05 4:23 ` Arthur Miller
2023-09-06 0:58 ` Richard Stallman
2023-09-06 1:12 ` Emanuel Berg
2023-09-06 5:04 ` Arthur Miller
2023-09-06 11:29 ` Alan Mackenzie
2023-09-06 23:03 ` Emanuel Berg
2023-09-07 7:00 ` tomas
2023-09-07 7:23 ` Emanuel Berg
2023-09-07 5:30 ` Po Lu
2023-09-07 6:15 ` Emanuel Berg
2023-09-11 0:43 ` Richard Stallman
2023-09-11 12:05 ` Eli Zaretskii
2023-09-12 23:55 ` Richard Stallman
2023-09-13 6:34 ` Emanuel Berg
2023-09-07 8:51 ` Manuel Giraud via Emacs development discussions.
2023-09-07 9:20 ` Po Lu
2023-09-07 9:34 ` Eli Zaretskii
2023-09-08 2:00 ` Arthur Miller
2023-09-08 7:35 ` Gerd Möllmann
2023-09-09 10:05 ` João Távora
2023-09-08 15:38 ` [External] : " Drew Adams
2023-09-09 11:55 ` Arthur Miller
2023-09-09 12:55 ` Eli Zaretskii
2023-09-09 13:20 ` Arthur Miller
2023-09-10 0:09 ` Drew Adams
2023-09-11 0:40 ` Richard Stallman
2023-09-11 15:10 ` João Távora
2023-09-11 16:12 ` Drew Adams
2023-09-11 20:37 ` Tomas Hlavaty
2023-09-11 21:10 ` João Távora
2023-09-12 19:52 ` Tomas Hlavaty
2023-09-12 20:52 ` João Távora
2023-09-15 8:43 ` Emanuel Berg
2023-09-11 21:09 ` Eric S. Raymond
2023-09-12 2:05 ` Arthur Miller
2023-09-12 4:38 ` Gerd Möllmann
2023-09-12 5:48 ` Arthur Miller
2023-09-12 2:30 ` Arthur Miller
2023-09-12 12:15 ` Emanuel Berg
2023-09-12 12:32 ` Emanuel Berg
2023-09-12 19:57 ` Tomas Hlavaty
2023-09-13 0:00 ` Richard Stallman
2023-09-08 17:58 ` Bob Rogers
2023-09-15 21:59 ` Emanuel Berg
2023-09-17 23:03 ` Richard Stallman
2023-09-09 0:39 ` Richard Stallman
2023-09-09 12:50 ` Arthur Miller
2023-09-12 0:27 ` Richard Stallman
2023-08-28 7:45 ` Andrea Monaco
2023-08-28 14:35 ` Arthur Miller
-- strict thread matches above, loose matches on Subject: below --
2023-09-20 20:51 Emacs design and architecture. How about copy-on-write? zhanghj
2023-09-21 9:43 Payas Relekar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87pm2bzu33.fsf@localhost \
--to=yantar92@posteo.net \
--cc=acm@muc.de \
--cc=dmitry@gutov.dev \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=incal@dataswamp.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).