From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Lars Ingebrigtsen Newsgroups: gmane.emacs.devel Subject: Re: Redisplay slower in Emacs 28 than Emacs 27 Date: Tue, 08 Dec 2020 15:06:44 +0100 Message-ID: <87pn3kjssr.fsf@gnus.org> References: <877dptiro7.fsf@gnus.org> <87pn3lhcdd.fsf@gnus.org> <878sa9hbe2.fsf@gnus.org> <877dptfvae.fsf@gnus.org> <83czzl8qwu.fsf@gnu.org> <87sg8h78s8.fsf@gnus.org> <837dpt8lk5.fsf@gnu.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="30425"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Cc: ghe@sdf.org, emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Dec 08 15:08:31 2020 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 1kmdfL-0007np-CS for ged-emacs-devel@m.gmane-mx.org; Tue, 08 Dec 2020 15:08:31 +0100 Original-Received: from localhost ([::1]:41372 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kmdfK-0002nz-CB for ged-emacs-devel@m.gmane-mx.org; Tue, 08 Dec 2020 09:08:30 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:50466) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmddw-0001bm-9M for emacs-devel@gnu.org; Tue, 08 Dec 2020 09:07:04 -0500 Original-Received: from quimby.gnus.org ([2a01:4f9:2b:f0f::2]:40472) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kmdds-0008Ke-Jy; Tue, 08 Dec 2020 09:07:04 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=7h8//mA916TuJcu1w5/ow5ClRIyvkfY2ZM96gXe551o=; b=Ey5jccNx5t/xMmVFrZMQA+4CWT mrb+1QQ8+QqYfP51/s6VhUE8EwRhISlcq5s5P1RslviXXDzfMmY8wDsx4BqhmJErjft40KZG5ck/s +vYv0G7Gvah7bVwWO/pW2h/ID3brlmCjvv+dEUOmetmZrdlvCCy9Y12+HzR9ZH+jVYuI=; Original-Received: from cm-84.212.202.86.getinternet.no ([84.212.202.86] helo=xo) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kmddd-0002ke-AI; Tue, 08 Dec 2020 15:06:54 +0100 X-Now-Playing: Act 3's _Circuit City_: "Time Of No Time (feat. Elon Battle)" In-Reply-To: <837dpt8lk5.fsf@gnu.org> (Eli Zaretskii's message of "Mon, 07 Dec 2020 21:26:18 +0200") Received-SPF: pass client-ip=2a01:4f9:2b:f0f::2; envelope-from=larsi@gnus.org; helo=quimby.gnus.org X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, 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.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:260552 Archived-At: Eli Zaretskii writes: > Btw, there could be a way to speed up equal_lists, I think. It > compares image specs, not just any 2 lists, right? An image spec > always starts with the symbol 'image'. So it should be enough to > compare only the list members starting from the second one. The image > specs of the tool-bar buttons have 9 members, so this might yield an > 11% speedup. Yup. And the same can be done when computing the image hash -- which should be special-purpose and use identity and not contents. But before doing that, we should probably decide, once and for all, whether the cache should be on spec equality or identity... And if we really go with identity (which we do now, but... wrognly), we could go one step further, and just look at the identity of the spec itself, instead of looking at the identity of the contents. That is, use && EQ (img->spec, spec) instead of && equal_lists (img->spec, spec) Or, if we decide to revert to a more permissive cache again, we could just go back to using && !NILP (Fequal (img->spec, spec)) -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no