From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Motif support Date: Mon, 20 Dec 2021 21:21:40 +0200 Message-ID: <83fsqn13qz.fsf@gnu.org> References: <878rwhbb91.fsf.ref@yahoo.com> <83ee699irm.fsf@gnu.org> <87r1a99icp.fsf@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> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="26882"; mail-complaints-to="usenet@ciao.gmane.io" Cc: luangruo@yahoo.com, ofv@wanadoo.es, akira@akirakyle.com, emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Dec 20 21:07:22 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 1mzOwJ-0006dL-HZ for ged-emacs-devel@m.gmane-mx.org; Mon, 20 Dec 2021 21:07:21 +0100 Original-Received: from localhost ([::1]:38958 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mzOwG-0007zI-Hh for ged-emacs-devel@m.gmane-mx.org; Mon, 20 Dec 2021 15:07:16 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:55186) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mzOEE-0005oE-SQ for emacs-devel@gnu.org; Mon, 20 Dec 2021 14:21:47 -0500 Original-Received: from [2001:470:142:3::e] (port=51132 helo=fencepost.gnu.org) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mzOEB-0001OA-Vy; Mon, 20 Dec 2021 14:21:45 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=cNc80IAIRqAeYRVgd9PPrwpsu+VvP9r9U0T6E6sND4o=; b=lqZoteWnQs7K UR9bKFxwY2mDXMvGl0ZrCa6VnXVbtFJ5Q7PN+cmAoMVSF7No0d4nQHg2hvTo3Z+furC3vi3DFKq76 lMntBJAtOmKKtbJjPD2OLk6y8zMKnatS3nryHcuFOuVYjDjgaVtLoWvx+iLco5o8CvlKqU5I9iKHA 6mOYcld5x87BBv9ElXFpNxPien40v4qPtO5uGy47zcq69Ns4jbSjGHl8jdxVojaBHJhrTS1t6ZomC bDbxjSQBiqvG57rUCmCgxG+9sAKhkPABIAGXneOrH4MSmc+aq9PiORj7gAt5ElCrhtWfyO5tbydh4 oIP+XQDk4c4TFXdVQrwV+w==; Original-Received: from [87.69.77.57] (port=2402 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mzOEA-0003PV-S7; Mon, 20 Dec 2021 14:21:44 -0500 In-Reply-To: (message from Stefan Monnier on Mon, 20 Dec 2021 14:01:52 -0500) 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:282536 Archived-At: > From: Stefan Monnier > Cc: Akira Kyle , luangruo@yahoo.com, ofv@wanadoo.es, > emacs-devel@gnu.org > Date: Mon, 20 Dec 2021 14:01:52 -0500 > > My impression is that would be "easier" to speed things up by making use > of multiple CPUs rather than making use of GPUs. True concurrency when > running ELisp is hard, but there are other ways to make use of multiple > CPUs: > > - 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, but is that really a frequent case? 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.