From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Andrea Corallo via "Emacs development discussions." Newsgroups: gmane.emacs.devel Subject: Re: [feature/native-comp] breakage on build Date: Thu, 11 Feb 2021 20:52:20 +0000 Message-ID: References: <87lfca7lsb.fsf@russet.org.uk> <87wnvlmjxo.fsf@russet.org.uk> <83ft29nwc0.fsf@gnu.org> <87y2fzr8ve.fsf@russet.org.uk> <87ft26pxra.fsf@russet.org.uk> <877dnipqfh.fsf@russet.org.uk> <877dng988w.fsf@russet.org.uk> <83zh0chs13.fsf@gnu.org> <83zh0ahexe.fsf@gnu.org> <83pn16hbka.fsf@gnu.org> Reply-To: Andrea Corallo Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="14081"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Cc: Stefan Monnier , Eli Zaretskii , phillip.lord@russet.org.uk To: Andrea Corallo via "Emacs development discussions." Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Feb 11 21:53:49 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 1lAIyD-0003Yl-BX for ged-emacs-devel@m.gmane-mx.org; Thu, 11 Feb 2021 21:53:49 +0100 Original-Received: from localhost ([::1]:59710 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lAIyC-0005de-D7 for ged-emacs-devel@m.gmane-mx.org; Thu, 11 Feb 2021 15:53:48 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:44706) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lAIwr-0004RZ-Fa for emacs-devel@gnu.org; Thu, 11 Feb 2021 15:52:25 -0500 Original-Received: from mx.sdf.org ([205.166.94.24]:56909) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lAIwp-0008ML-Ik; Thu, 11 Feb 2021 15:52:25 -0500 Original-Received: from mab (ma.sdf.org [205.166.94.33]) by mx.sdf.org (8.15.2/8.14.5) with ESMTPS id 11BKqKPx009966 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits) verified NO); Thu, 11 Feb 2021 20:52:20 GMT In-Reply-To: (Andrea Corallo via's message of "Thu, 11 Feb 2021 16:20:18 +0000") Received-SPF: pass client-ip=205.166.94.24; envelope-from=akrl@sdf.org; helo=mx.sdf.org X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_PASS=-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.23 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:264445 Archived-At: Andrea Corallo via "Emacs development discussions." writes: > Stefan Monnier writes: > >>>>> On my system each trampoline is 45K, this translates in ~65M bloat that >>>>> is probably more problematic. >> >> IIUC each trampoline gets its own .eln file, right? >> If so, if we decide to prebuild all trampolines (and to keep not >> sharing their code) we should likely build a single .eln file containing >> them all. > > That's a good solution. It should also cut the compilation time that is > ATM mostly startup time. > > OTOH I realized the reason of the 45K, trampolines are not optimized ATM > so GCC does not prune unused functions. I'll modify to have them > compiled at least at O1 and follow-up on the corresponding footprint. Okay compiling at -O1 makes each trampoline on my system 17K, so ~25M in total for all ~1500 primitives. The compilation time is almost the same, therfore I've set it as default for trampolines. If we want to go further into saving space Stefan's suggestion (the single eln containing all trampolines) has to be implemented. Andrea