From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Aaron Jensen Newsgroups: gmane.emacs.bugs Subject: bug#24048: 25.0.95; syntax-ppss can be slow Date: Thu, 2 Dec 2021 21:38:07 -0500 Message-ID: References: <87o860f6ov.fsf@gnus.org> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="7653"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 24048@debbugs.gnu.org, Dmitry Gutov To: Lars Ingebrigtsen Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Fri Dec 03 03:39:18 2021 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1msyTl-0001sa-RG for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 03 Dec 2021 03:39:17 +0100 Original-Received: from localhost ([::1]:43898 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1msyTk-0008Ck-Np for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 02 Dec 2021 21:39:16 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:35568) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1msyTd-0008CX-PR for bug-gnu-emacs@gnu.org; Thu, 02 Dec 2021 21:39:09 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:38269) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1msyTW-0000Tc-Jg for bug-gnu-emacs@gnu.org; Thu, 02 Dec 2021 21:39:06 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1msyTW-00048T-FM for bug-gnu-emacs@gnu.org; Thu, 02 Dec 2021 21:39:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Aaron Jensen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 03 Dec 2021 02:39:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 24048 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: moreinfo Original-Received: via spool by 24048-submit@debbugs.gnu.org id=B24048.163849910615854 (code B ref 24048); Fri, 03 Dec 2021 02:39:02 +0000 Original-Received: (at 24048) by debbugs.gnu.org; 3 Dec 2021 02:38:26 +0000 Original-Received: from localhost ([127.0.0.1]:49815 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1msySv-00047e-VG for submit@debbugs.gnu.org; Thu, 02 Dec 2021 21:38:26 -0500 Original-Received: from mail-pf1-f172.google.com ([209.85.210.172]:35459) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1msySu-00047P-Dd for 24048@debbugs.gnu.org; Thu, 02 Dec 2021 21:38:25 -0500 Original-Received: by mail-pf1-f172.google.com with SMTP id p13so1496663pfw.2 for <24048@debbugs.gnu.org>; Thu, 02 Dec 2021 18:38:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=vjVDzTkF+F3tiiHoVw1K8hrvkA9MZvnYynfMbBBmo/Q=; b=IW+mzljHxkOO/+28pD2L2VKmu0HBnXhNmjPjwuiHqu8qbQoTApn6S/Nw0jEvtzs7LG boIlnGSEnGEQq944n4NthYyCuMZzApAW+YbDTrJD2COzTqxo8WFaibyqrObQPTY0hrjz LDf56krwuhZsbTdjgqqNuuzd2+uiCyoO16C5ZabltkfNaEHlcRpbqhetJmdkG5vQ0W8/ Z/kEmhpPwRGvONc13lUsMRzteN8DGNEzN/nZ6iIcPNsR8ZtmRgsdQYcaOnM7B+VWm27L b4mYst6wf8q+jDDKYx15IK6WUtMWcLg3dn9VlhckLK8Yk/oJvKWZZOZDM5Kffma5d967 LCGg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=vjVDzTkF+F3tiiHoVw1K8hrvkA9MZvnYynfMbBBmo/Q=; b=P84NtP9KDweGMJ61n8q4t9euRGmJCRcouzMpk6+1+Ql2Y17v/tl1uKy0ELaN/u39hp FaiRa6YC5oqQ4jaJ1lFGMXCbbvPZIsA427h1Nm3gyPNRkRtM1xpvDuLWNXNkwBVqAycP 67Vv5JLa7NEp/SFAmN4XvQ1Lb502qpBObKIollA9Z7z7gcc5dLs1fGbc4+egZEfWb7Rc Sk8Uocb6N0DKkyyXoks4Rwr2pUvWfAJN3kRtQQyL8euGzIBpW+hAa4U3qA133nk8OTPB Z1Lh/53toIjFrFYOzqRXLIKJfXLK9a8QXQ+hAoLEacJOlt5Vs3USoFxGKBZRWC/3MWC/ qh4A== X-Gm-Message-State: AOAM533bvmiJvn2Jsn71ex66LTHW5YiFBznYVlrzolm9vyLxqlokjXyv FKnQpj+8WG8iJAyrNOKxdyiqOqY7MIabERd/qcQ= X-Google-Smtp-Source: ABdhPJyUqH75kqqWMCWBP9DD/0e7s+qDqFjm0Sm20fT8x1mH9M2o6AV8Pj7mG6Qh5oHXSjrjRW17uUdDJXY+FQAQRyQ= X-Received: by 2002:aa7:9af6:0:b0:4a2:fa4a:714c with SMTP id y22-20020aa79af6000000b004a2fa4a714cmr16188882pfp.40.1638499098402; Thu, 02 Dec 2021 18:38:18 -0800 (PST) In-Reply-To: <87o860f6ov.fsf@gnus.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:221367 Archived-At: On Wed, Dec 1, 2021 at 2:47 PM Lars Ingebrigtsen wrote: > > Aaron Jensen writes: > > > Ultimately, it seems like it may be worth reconsidering this condition: > > > > (and old-pos (< (- pos old-pos) > > ;; The time to use syntax-begin-function and > > ;; find PPSS is assumed to be about 2 * distance. > > (* 2 (/ (cdr (aref syntax-ppss-stats 5)) > > (1+ (car (aref syntax-ppss-stats 5))))))) > > (I'm going through old bug reports that unfortunately weren't resolved > at the time.) > > This bit is now: > > (if (and old-pos (< (- pos old-pos) > ;; The time to use syntax-begin-function and > ;; find PPSS is assumed to be about 2 * distance. > (let ((pair (aref syntax-ppss-stats 5))) > (/ (* 2 (cdr pair)) (car pair))))) > > I.e., the last clause is gone. I don't know whether this affects the > issue you were seeing, though. Is syntax-ppss still mis-caching things > for you? I can still reproduce it with the specified repro: Load https://gist.githubusercontent.com/aaronjensen/d4cd40347a916dd36c8239afecf64a7d/raw/b52440bb51b96193a365a7f4cc1c8733ba98476f/syntax-ppss-slow-repro.ex Install and enable elixir-mode At top of file: M-: (benchmark 100 '(syntax-ppss)) On line 71: M-: (benchmark 100 '(syntax-ppss)) For me it's 0.1ms vs 5ms Aaron