From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Dmitry Gutov Newsgroups: gmane.emacs.devel Subject: Re: Enabling native compilation by default when libgccjit is present Date: Mon, 6 Dec 2021 15:59:21 +0300 Message-ID: <30de006d-07f6-a069-44cf-294c7cea5977@yandex.ru> References: <99778fc6-10f0-4332-9552-ea8c699acf90@yandex.ru> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="994"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0 Cc: "Jose A. Ortega Ruiz" , emacs-devel@gnu.org To: Jim Myhrberg Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Dec 06 14:10:51 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 1muDlb-00005H-Dc for ged-emacs-devel@m.gmane-mx.org; Mon, 06 Dec 2021 14:10:51 +0100 Original-Received: from localhost ([::1]:49066 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1muDla-0007hu-99 for ged-emacs-devel@m.gmane-mx.org; Mon, 06 Dec 2021 08:10:50 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:54936) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1muDb6-0004uJ-G8 for emacs-devel@gnu.org; Mon, 06 Dec 2021 08:00:00 -0500 Original-Received: from [2a00:1450:4864:20::12e] (port=46879 helo=mail-lf1-x12e.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1muDb4-0002pT-Jy; Mon, 06 Dec 2021 08:00:00 -0500 Original-Received: by mail-lf1-x12e.google.com with SMTP id b1so25009030lfs.13; Mon, 06 Dec 2021 04:59:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=sender:subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=Ya4wE0VyZpjmAGamX6eA0Ecp8PxmPARKKemve8NHa4g=; b=LsJApIMqgPdQIxjv2aiNienCcvDix4V/lo43KPbk+4qKf4pdmurtGTLX6ZFgUG+esz /YXepj+f0UC/tmxbGfm6/R7g+hVv1owyLg2nD4mqgEZEmH7/s5aI1jE44UXKyDlFNmya Ofe03ywl/IX5VLPLiCPjQyI5X7LAs2GEy6qbrWaZtUHTcUERVx0pvjy5PL+NljaAkpgl 0cfNhnFmoGmeIshIy5AiyKGv2PNnA6iORjmRCBny5+YwtErtC2hBH1AjH0gm8LQ7LPiU H8UaIgRUFQqsGuheogRzxETWTfAETQUn4QxTT3UcHZYI+BefXn9Bg2L/lG0oZZ/fghaX NMHA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:sender:subject:to:cc:references:from:message-id :date:user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=Ya4wE0VyZpjmAGamX6eA0Ecp8PxmPARKKemve8NHa4g=; b=4aPAR6bZE5H+Obd0GEEKewN/gLTPmRAYOULZR3HZ9zun0BIcBN+u7sn+yzXCDCtT9I vl+QkEbwvoXRdEbttqkrouR9Rx333wGN2fSvIsdO50I7vqMaJsInZrF2DDSoxN5fGfYS XazB7K2xJDJqzraKW/dIVwOaCQg5C+p0d5IpVDCat0gdQqmwi1aG82UVW2XgT61nVyt9 QDTrXVBWpSsum+gYeaOrDQOJYdFgXhEhZW8iJRkGxaldzaj0f7JbHq778oeJ212U/an7 PBbW0mzDxvueUXL80+8s059BPGcIYpuEWLKyRLsLgcV5evRGKq2VYTaJJspqr1vyOdxe RAng== X-Gm-Message-State: AOAM530m7nYkLIRRB0rDm9Rzc6FPEM8tqS4HS+nJfHeiczFeRi7z78l0 rLeOUAzSmlAkDoCmJN+/IwAM23o6zbQ= X-Google-Smtp-Source: ABdhPJzHOTQ0RbSS3tH5jksskuQzao2+xFaH/4PXqJ5NERyXCLWCU+rPVrxWt+okird5Xiid5/eoRQ== X-Received: by 2002:a05:6512:70a:: with SMTP id b10mr34423343lfs.32.1638795596153; Mon, 06 Dec 2021 04:59:56 -0800 (PST) Original-Received: from [192.168.0.103] ([5.18.233.185]) by smtp.googlemail.com with ESMTPSA id x5sm1279142ljm.101.2021.12.06.04.59.55 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 06 Dec 2021 04:59:55 -0800 (PST) In-Reply-To: Content-Language: en-US X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a00:1450:4864:20::12e (failed) Received-SPF: pass client-ip=2a00:1450:4864:20::12e; envelope-from=raaahh@gmail.com; helo=mail-lf1-x12e.google.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.25, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, NICE_REPLY_A=-2.076, PDS_HP_HELO_NORDNS=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=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.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:281094 Archived-At: On 06.12.2021 05:50, Jim Myhrberg wrote: >>> Especially in larger Ruby RSpec test files (over 400-500 lines), where each keystroke could take somewhere around 100-1000ms to register. Native-comp solved all of that for me, with everything being fast and responsive, even those worst case scenario RSpec files. >> >> Was that with lsp-mode enabled? >> >> Because otherwise, I routinely edit RSpec files longer than that, with no sluggishness like the one you described. > > I having lsp-mode on or off didn’t really have much of an effect, and I’d had performance issues since before lsp-mode existed. Though the biggest performance killer in long heavily indented rspec files was the highlight-indent-guides package. But even with that turned off, various operations were still pretty slow most of the time, specially inserting a new line which would often take a good 300-500ms on those problematic files. highlight-indent-guides sounds like it could have an impact indeed, if it recomputes indentation for every displayed line on every keypress. Although reindenting a screen-ful takes about 120ms here, not anything close to 1s. And that's without native compilation. > Admittedly, I’ve not really tried running Emacs without native-comp for nearly a year, and it was nearly 18 months ago I started using native-comp builds. I’m curious now though, so I’ll create a local master build without native comp tomorrow and see how it behaves. If native-comp helps (which would be natural, given that all indentation code is in Lisp), it might be good enough. But it might be worthwhile to find the exact bottlenecks and file the corresponding issues. Maybe in the aforementioned package. Maybe against ruby-mode. Maybe somewhere else.