From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: New optimisations for long raw strings in C++ Mode. Date: Thu, 11 Aug 2022 03:37:51 -0400 Message-ID: References: <87fsi5xw9l.fsf@gnus.org> <83wnbhtlzb.fsf@gnu.org> <703c2351d96919276449@heytings.org> <83o7wsqlcm.fsf@gnu.org> <83edxoqcnl.fsf@gnu.org> <83a68cqbm0.fsf@gnu.org> <834jykq9m6.fsf@gnu.org> <83wnbfpag1.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="26747"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) Cc: acm@muc.de, gregory@heytings.org, larsi@gnus.org, emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Aug 11 09:40:47 2022 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 1oM2oA-0006mS-UH for ged-emacs-devel@m.gmane-mx.org; Thu, 11 Aug 2022 09:40:47 +0200 Original-Received: from localhost ([::1]:45856 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oM2o9-0004CN-Fm for ged-emacs-devel@m.gmane-mx.org; Thu, 11 Aug 2022 03:40:45 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:53350) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oM2lX-0002ZZ-9C for emacs-devel@gnu.org; Thu, 11 Aug 2022 03:38:03 -0400 Original-Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:35958) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oM2lT-0003bv-LH; Thu, 11 Aug 2022 03:38:02 -0400 Original-Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id A00D6100134; Thu, 11 Aug 2022 03:37:55 -0400 (EDT) Original-Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 4EC041000FB; Thu, 11 Aug 2022 03:37:54 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1660203474; bh=Lqyy8H5rb1knzAHO24+aGffvXZdoIyB4asqeceOphdU=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=pGFDTeF5dWLtqYd4qz4OSOsdHBMgVo7OovyF+Lu8ztPna1txYYjMHOhE6zKJYJ7ik UBQQ6QnBRX1lAEVjzeCEP5n4Qr51LeYOqs82lMvG+RuhuFSKjOMwvIcFaVxm0stn8x V3qJdu9YhxgAEhWxCayyHsWyVI3jhkuu5DLgtCP0ZqS5V9iI3KfnRpNSKXeGl8uib4 8FsssirH4Xt4H398gSSBi/y/z+jc1fz3qiav2hkZn8jq8NV5MYPnZSJbTOo4S7bTH6 aklzP3aw5s0ZdILHPhW7IC8DCYy97f7aZt06nc3mSvJO3ZmXLJggICblnqspcGbRTG vE2nihOFP42/w== Original-Received: from milanesa (dyn.144-85-183-175.dsl.vtx.ch [144.85.183.175]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 488461203F4; Thu, 11 Aug 2022 03:37:53 -0400 (EDT) In-Reply-To: <83wnbfpag1.fsf@gnu.org> (Eli Zaretskii's message of "Thu, 11 Aug 2022 09:21:18 +0300") Received-SPF: pass client-ip=132.204.25.50; envelope-from=monnier@iro.umontreal.ca; helo=mailscanner.iro.umontreal.ca X-Spam_score_int: -42 X-Spam_score: -4.3 X-Spam_bar: ---- X-Spam_report: (-4.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 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:293374 Archived-At: >> `syntax-begin-function` could use such a thing, but we made it obsolete >> because making it work well tends to be costly. > More costly than going back 20 million characters and then coming back? The design decisions around `syntax-begin-function` were based on experience for "normal" files. IOW, for normal files it proved too costly (either in terms of execution or programming costs, or in terms of extra coding style requirements imposed on the user (e.g. open-paren-in-column-0)). In the message to which you replied I indeed point out that the trade off might very well be different for large files. > IOW, what is and isn't costly could change when compared with > alternatives. For example, I recently made one of low-level > subroutines in the display engine do something "costly" when the > buffer has very long lines, and the result turned out to be a very > large win in those cases. The "heavy" calculation is only used when > the buffer is flagged to have very long lines; we could do something > similar for syntax analysis as well. I think we're in agreement. Stefan