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: Merging MPS a.k.a. scratch/igc, yet again Date: Tue, 10 Dec 2024 19:16:32 +0200 Message-ID: <864j3bbgr3.fsf@gnu.org> References: <871pyijctd.fsf@protonmail.com> <8634iyf257.fsf@gnu.org> <8634iwex8q.fsf@gnu.org> <87plm0msrq.fsf@telefonica.net> <87zfl4npcd.fsf@debian-hx90.lan> <87ldwnn0ny.fsf@telefonica.net> <874j3bmtvr.fsf@telefonica.net> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="30144"; mail-complaints-to="usenet@ciao.gmane.io" Cc: pipcet@protonmail.com, emacs-devel@gnu.org To: =?iso-8859-1?Q?=D3scar?= Fuentes Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Dec 10 18:17:26 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 1tL3rS-0007hC-Bi for ged-emacs-devel@m.gmane-mx.org; Tue, 10 Dec 2024 18:17:26 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tL3qi-0004lS-S7; Tue, 10 Dec 2024 12:16:40 -0500 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 1tL3qf-0004kn-6W for emacs-devel@gnu.org; Tue, 10 Dec 2024 12:16:37 -0500 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 1tL3qe-0001H8-Cr; Tue, 10 Dec 2024 12:16:36 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=StCzMmORLlsslQwrFX4No9TQnBCzOxcMrZSgOGIh4MU=; b=rhRot6leLQU4NVUte4n1 T3MVdXSHuirEJcflLxEEoWw/j1IKNrjhOfjKjXvKlRt6gdQEuiaftwARDhTvKb8c21LB3I90Ecsxw Cv1AAVACCGK4aLFERvskVzlAFVIPPJwV1KSAr9PUZs1g+z2AHH8FVsHrjoXBJYCS93t+lF1Bgvq46 bKEMvNZlKlYJ26hy+oBrEK0yq5P+8djSdcJ63l6ALWXDNeQILb2kkgYaFHIhk3qSoHD8oNNcmF7wX 2pWuASMQd8LHREDKYWqYG7gTdNE4qIPAzxWolnligWHvoVw2s89noEO0H582HP9tKk7RCS0xV0uat GXTt0CZNgogJDw==; In-Reply-To: <874j3bmtvr.fsf@telefonica.net> (message from =?iso-8859-1?Q?=D3scar?= Fuentes on Tue, 10 Dec 2024 16:37:28 +0100) 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:326303 Archived-At: > From: Óscar Fuentes > Cc: emacs-devel@gnu.org > Date: Tue, 10 Dec 2024 16:37:28 +0100 > > Pip Cet writes: > > >> * MPS does a performance-critical job. Using it as a shared object might > >> incur in a performance penalty. Having it in source form alongside the > >> Emacs sources will result in opportunities for optimizations (LTO, > >> PGO, ...) that may bring better performance. > > > > ...and more problems. MPS has made the decision not to work with gcc > > -O3, only with -O2 or less, and LTO in particular is something MPS > > cannot reliably support, IIUC. > > That sounds worrysome. If I understand the implications of what you > wrote, MPS basically depends on what the specifics of what gcc does. But > gcc can do something else on future versions... not to mention what > happens if the user wants to use other compilers. MPS does quite a few questionable things and depends on several assumptions that are not easy to uphold. We have already bumped into some of them, with signals (like SIGPROF), for example, and don't yet have a satisfactory solution, at least IMO. It is hardly surprising for a library that attempts to literally pull the rug from under the feet of a running program. We will probably find other issues as we continue testing the branch. That is why it's important for as many people as possible to test it and report any problems. That is most of what is left to do on the branch before we decide it is ready to be merged (or, unlikely, decide the problems are too much for us to cope with). > >> For those reasons, incorporating MPS into the Emacs sources is the right > >> thing to do. > > > > I don't think that's an option, because Emacs should remain capable of > > switching to GPLv4 if and when that is released, and we don't know > > whether the MPS license is compatible with such a future document. > > Yeah, the licensing point is what I was too afraid to mention :-) We could alternatively fork the library and keep it in a separate repository, under a different but compatible license.