From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: Motif support Date: Mon, 20 Dec 2021 14:59:03 -0500 Message-ID: References: <878rwhbb91.fsf.ref@yahoo.com> <835yrl9gob.fsf@gnu.org> <87fsqp9cvn.fsf@yahoo.com> <87mtkwzxpd.fsf@telefonica.net> <871r2898rl.fsf@yahoo.com> <87ilvkzx1m.fsf@telefonica.net> <87wnk07tfq.fsf@yahoo.com> <87sfuo7t0a.fsf@yahoo.com> <87czlszvcu.fsf@telefonica.net> <87h7b47rie.fsf@yahoo.com> <878rwgztoc.fsf@telefonica.net> <83ilvk9292.fsf@gnu.org> <8735mozno8.fsf@telefonica.net> <8335mo8wan.fsf@gnu.org> <87tuf43r5i.fsf@yahoo.com> <83wnjz1al2.fsf@gnu.org> <83fsqn13qz.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="39889"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) Cc: akira@akirakyle.com, luangruo@yahoo.com, ofv@wanadoo.es, emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Dec 20 21:17:13 2021 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mzP5s-000A5I-VO for ged-emacs-devel@m.gmane-mx.org; Mon, 20 Dec 2021 21:17:13 +0100 Original-Received: from localhost ([::1]:52954 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mzP5r-0001RN-6u for ged-emacs-devel@m.gmane-mx.org; Mon, 20 Dec 2021 15:17:11 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:41956) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mzP3n-0007H3-3V for emacs-devel@gnu.org; Mon, 20 Dec 2021 15:15:03 -0500 Original-Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:49776) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mzP3h-00058i-Qd; Mon, 20 Dec 2021 15:15:02 -0500 Original-Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 86EB610018A; Mon, 20 Dec 2021 14:59:06 -0500 (EST) Original-Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 0BB43100091; Mon, 20 Dec 2021 14:59:05 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1640030345; bh=FSGA9PFU2YMU8EK4I4/p/Zn4n3PqQoNVxvOm4nMORm4=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=CEMU64X/rZpokCYQljFlYAxbE8gIB2kt/bvz+Uuagd0LCCewE3vXYT+g3WJkTw4zu 9sfSGk4Sce+QOsgRubTH/vf4CcW1B2DzjKxIaul50amaNzqhio4XTc2W6DtZHRIPPc dswET1BePt7ZYoU4WlOEaazpRbgelgwx7MwnKfKgEHJJqFwyAO9Be7sEtYb4yIM83t 20uiQXgw2WYeGRScLZzaZhekFIol4C6wHGCzhVhST4BGl0CVxfez8oblgmUnA8GAIN Xgj3Oiywsg8Wz0ROAq4GLz+49OJsfSlDih44edL66OExMEjWt5poC9SdTQbEx9Apkl KPFvhzMdACS6A== Original-Received: from ceviche (unknown [216.154.30.173]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id C2FAB120872; Mon, 20 Dec 2021 14:59:04 -0500 (EST) In-Reply-To: <83fsqn13qz.fsf@gnu.org> (Eli Zaretskii's message of "Mon, 20 Dec 2021 21:21:40 +0200") Received-SPF: pass client-ip=132.204.25.50; envelope-from=monnier@iro.umontreal.ca; helo=mailscanner.iro.umontreal.ca X-Spam_score_int: -42 X-Spam_score: -4.3 X-Spam_bar: ---- X-Spam_report: (-4.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:282537 Archived-At: >> - make the GC parallel. >> - make the GC concurrent. >> - use a separate thread per window-redisplay (so when redisplaying 20 >> windows we can use 20 CPUs to update their glyph matrices). >> - ... > > I think in all cases where redisplay was really slow, it was either > due to slow Lisp being called by JIT font-lock, or by very long lines > in the buffer, or both. If we have several such windows, then yes, > having that run in parallel could speed up things, The jit-lock part can't be run in parallel (at least until we figure out how to make ELisp code run parallel). And with very long lines, the problem is algorithmic, so concurrency won't help either. > but is that really a frequent case? None of the things I suggest above will fix all the problems, no. Especially not the ones where things are *really* slow. I suspect they could help a fraction of the "middle" cases. How much it would help those cases, how important it is, and how it would impact other cases is hard to tell (except maybe for the concurrent GC where the impact is easier to predict, especially since we can draw on the experience of the XEmacs guys with their incremental GC). > And anyway, working on several windows in parallel will have to deal > with the buffer-local stuff that changes global state, since each > window generally displays a different buffer, and the display code > makes that buffer current for the duration of time it works on a > window. Indeed. Stefan