From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: =?utf-8?Q?=C3=93scar_Fuentes?= Newsgroups: gmane.emacs.devel Subject: Re: Enabling native compilation by default when libgccjit is present Date: Sun, 05 Dec 2021 21:37:32 +0100 Message-ID: <87ilw2bxf7.fsf@telefonica.net> References: <83wnkm94oq.fsf@gnu.org> <87y251vdeh.fsf@gnus.org> <87lf11tlzf.fsf@gnus.org> <87r1atrsp9.fsf@gnus.org> <8735n85fa5.fsf@gnus.org> <87r1arskmq.fsf@gnus.org> <87r1arsjpu.fsf@yahoo.com> <87ilw3sjlr.fsf@gnus.org> <87r1ar4mi2.fsf@gmail.com> <874k7nw32n.fsf@gnus.jao.io> <87mtlfasg4.fsf@telefonica.net> <87y24yrgas.fsf@gnus.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="31424"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) To: emacs-devel@gnu.org Cancel-Lock: sha1:Ntlg7oKjphsyWlHC+AcBqVzkkTk= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sun Dec 05 21:38:56 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 1mtyHg-0007yD-7r for ged-emacs-devel@m.gmane-mx.org; Sun, 05 Dec 2021 21:38:56 +0100 Original-Received: from localhost ([::1]:45842 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mtyHe-0002Ji-Ny for ged-emacs-devel@m.gmane-mx.org; Sun, 05 Dec 2021 15:38:54 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:37094) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mtyGX-0001Z6-M4 for emacs-devel@gnu.org; Sun, 05 Dec 2021 15:37:45 -0500 Original-Received: from ciao.gmane.io ([116.202.254.214]:53798) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mtyGW-0004qJ-0l for emacs-devel@gnu.org; Sun, 05 Dec 2021 15:37:45 -0500 Original-Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1mtyGT-0006Ph-Fi for emacs-devel@gnu.org; Sun, 05 Dec 2021 21:37:41 +0100 X-Injected-Via-Gmane: http://gmane.org/ Received-SPF: pass client-ip=116.202.254.214; envelope-from=ged-emacs-devel@m.gmane-mx.org; helo=ciao.gmane.io X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.249, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no 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:281023 Archived-At: Lars Ingebrigtsen writes: >> The reason for this is not hard to understand for anyone with a little >> bit of knowledge about binary code optimization. For instance, if your >> Elisp code consists on invoking opaque C primitives, the gain of >> compiling it to machine instructions will be mostly irrelevant. > > My micro-benchmark up there is almost all opaque C primitives, but is > helped a lot. I guess nativecomp knows and lowers some of those primitives, i.e. they are not opaque. Also, when the primitives are simple, the time used on Elisp "glue code" that passes results from one primitive to the next can be significant.