From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Andrea Corallo Newsgroups: gmane.emacs.devel Subject: Re: MPS experiment successful Date: Thu, 18 Apr 2024 05:14:19 -0400 Message-ID: References: <86le5cgmp3.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="11558"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: Eli Zaretskii , emacs-devel@gnu.org To: Gerd =?utf-8?Q?M=C3=B6llmann?= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Apr 18 11:14:50 2024 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 1rxNr0-0002m5-DS for ged-emacs-devel@m.gmane-mx.org; Thu, 18 Apr 2024 11:14:50 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rxNql-0001f0-9y; Thu, 18 Apr 2024 05:14:35 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rxNqi-0001eD-1u for emacs-devel@gnu.org; Thu, 18 Apr 2024 05:14:32 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rxNqh-0002gs-B1; Thu, 18 Apr 2024 05:14:31 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:References:In-Reply-To:Subject:To: From; bh=MqHjVKt65PKVXxD7ped3b7AQZAUnYbSlPbiT+XRvzOM=; b=gc5oJzkX493VxkTpJ4vN MjKijXikMV+pXk1n0sQ8OsmguBDRbEn+CilnoNb6umJfc2oyDFRAO+yWZcL6Ublqkt6Zj47ddGBHi PtKn6lJcTaQIoPydnwAg15Zww/29K5NtxCCP0e2JACEUDdbzFuMcjEyOyE1VOioRB2a/44d1L5zry bU4BubfbdkArJ5Xu71ZWBcZNu1HqfvWMK4l0X6W50XXFrqvWsPwDu3L93ftAKr2c+CIdAqkgAYTts ZG/Qi2y+PLjg/CdSd/fwUthmq6KGtWqj28qVDLpaShWNLwKea33k2X9wogsQ3yIObQw6r1RN7lcC6 T4Y51hPsj09xRQ==; Original-Received: from acorallo by fencepost.gnu.org with local (Exim 4.90_1) (envelope-from ) id 1rxNqV-0000f7-Rb; Thu, 18 Apr 2024 05:14:26 -0400 In-Reply-To: ("Gerd =?utf-8?Q?M=C3=B6llmann?= =?utf-8?Q?=22's?= message of "Wed, 17 Apr 2024 16:30:42 +0200") 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-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:317807 Archived-At: Gerd M=C3=B6llmann writes: > Eli Zaretskii writes: > >>> That's all. There is nothing more. And I'm currently undecided how to >>> proceed with this. >> >> The next step would be to push a feature branch into the Emacs Git >> repository and let people try the branch on the other supported >> platforms. If the code is not yet mature enough for that, please >> suggest how to get from here to there. > > I think technically it could be done, but there are some things that > would need to be done. From the top of my head: > > - CL packages vs. obarrays (I do have packages but no obarrays) > - Handling of pure space > - Handling the new JSON stuff, which I don't have in my branch, I think. > - ... > > And then of course the general work of getting a branch from a what is > basically a fork back to the forked repo, which I'm not so sure how to > go about that. > > But my undecidedness comes more from what could come after that. I'm not > sure how willing I am to invest what can be years to get things > finished, esp. if no one else starts working on it. Had that one time > too often in the 90s, some might remember ;-). > >> Would you like to describe in a few words what would be the advantages >> and disadvantages of this GC for Emacs? > > Advantages for users: > > For the user it means the final end to GC pauses. MPS runs in a > different thread wich can be in a different core. > > What MPS means for the overall speed of Emacs I find impossible to say. > MPS doesn't seem to be slow at all though, although some slowdown can be > expected in the client because of thread-safe allocations. > > Example for a confusing fact that I noticed today: > > Full build without MPS, -O0, checking > > real 26:20.01 > user 1:32:15.54 > sys 3:20.74 > > Same build with debug MPS (-lmps-debug) > > real 14:07.90 > user 44:17.94 > sys 3:15.99 > > That's on an 2,3 GHz Quad-Core Intel Core i7, 16G RAM, SSD. =F0=9F=A4=B7 Hi Gerd, sounds very interesting. I think we'll need more performance figures especially on non debug builds in the future to better undesrtand this. OTOH even in case it proves to be a tiny bit slower having no pauses is a big plus. Andrea