From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id oMfOHs6HiWNBBAEAbAwnHQ (envelope-from ) for ; Fri, 02 Dec 2022 06:06:22 +0100 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id WFvoHc6HiWMsOAAAG6o9tA (envelope-from ) for ; Fri, 02 Dec 2022 06:06:22 +0100 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 5826CA420 for ; Fri, 2 Dec 2022 06:06:22 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1p0yF3-0001DX-Eb; Fri, 02 Dec 2022 00:05:41 -0500 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 1p0yEy-0001D6-OJ for emacs-orgmode@gnu.org; Fri, 02 Dec 2022 00:05:40 -0500 Received: from mout02.posteo.de ([185.67.36.66]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1p0yEw-0004JH-Ru for emacs-orgmode@gnu.org; Fri, 02 Dec 2022 00:05:36 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id 98670240101 for ; Fri, 2 Dec 2022 06:05:33 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1669957533; bh=Pi2/kUPI/TPcsZnslXYbxRdwsQiWkIAg9fuz1KvWXhs=; h=From:To:Cc:Subject:Date:From; b=Bim5C31Tz6o60MKj4SU+0rPJudEsY85HhYE7YDPGpK8SBohjkOyc/ZxLRv8zrCJM8 lX7VggNbO92hz9vrX9K9I/YgRJrEAhWtki6fH8BnIUIbjH3erx+ZWnVyW5F9cQ828Q sxj3WifOc/7p0Ug/7wcXsqtw9aHCOxn7VQWljNXf8EGbjH8ettJSjNrYDJicYl6Q8z n0VhktqwNl9szmRoV4eXTDxgpXUnfQCLO86pSFYuil7QTmkHpCuvm7UAZCuSTIU5Tf 4PxPmCr1YVE9fni+V69DSjKHzSnuiaohs3zVJENZfTGZLQHJey27RLONT002eYDohV d9R3Ek8AzbRWQ== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4NNgqx01Tvz9rxF; Fri, 2 Dec 2022 06:05:32 +0100 (CET) From: Ihor Radchenko To: Tim Cross Cc: Max Nikulin , emacs-orgmode@gnu.org Subject: Re: Release 9.6 In-Reply-To: <86tu2eg0us.fsf@gmail.com> References: <87pmd6p7qs.fsf@gnu.org> <86tu2eg0us.fsf@gmail.com> Date: Fri, 02 Dec 2022 05:06:37 +0000 Message-ID: <87wn7al7he.fsf@localhost> MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=185.67.36.66; envelope-from=yantar92@posteo.net; helo=mout02.posteo.de 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_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: emacs-orgmode-bounces+larch=yhetil.org@gnu.org X-TUID: SsesDylY4f8j Tim Cross writes: > One question I do have is with respect to the new folding code, the > changes in Emacs to improve overlay performance and the correct way > forward. > > On one hand, it was an immense amount of work for Ihor to implement a > better performing solution and something I'm sure those with large org > files will appreciate. However, on the other hand, I guess it also puts > a greater burden from a maintenance perspective on org maintainers as > org is now using its own unique approach to hiding/showing content > (folding). Note that org-fold text property implementation will remain relevant until we drop the support of Emacs 28. > Has anyone done any comparisons between the new overlay implementation > in Emacs 29 and the new folding approach in org 9.6? Is there still > sufficient performance benefit with org's approach over using Emacs > overlays or do we need to seriously consider changing the default back > to native Emacs overlays? I did. https://orgmode.org/list/87359z8ssb.fsf@163.com Emacs master: - main Org branch using text properties for folding: Elapsed time: 2.185786s (0.639190s in 4 GCs) - main Org branch using overlays for folding: Elapsed time: 27.244284s (0.731581s in 5 GCs) Emacs feature/noverlay: - main Org branch using text properties for folding: Elapsed time: 1.586936s (0.476606s in 3 GCs) - main Org branch using overlays for folding: Elapsed time: 2.039803s (0.724576s in 5 GCs) The improvement is very significant. GCs are mostly caused by Org internals staff as you can see by comparing built-in and main Org versions. Without GCs, overlays are on par with text properties. overlays vs. text properties are now mostly on par modulo some more GCs when using overlays. In terms of maintenance, it is not that bad. org-fold supports both overlays and text properties. I just did not implement certain features when overlays are used. Eventually, we can drop text property support and go back to overlays. We do not have to abandon org-fold for that. org-fold is mostly an API for folding. It provides more than just a replacement of overlays. Other places in Org code now use API calls instead of directly working with overlays. -- Ihor Radchenko // yantar92, Org mode contributor, Learn more about Org mode at . Support Org development at , or support my work at