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.bugs Subject: bug#47711: bug#48841: bug#47711: [PATCH VERSION 2] Add new `completion-filter-completions` API and deferred highlighting Date: Tue, 17 Aug 2021 05:08:15 +0300 Message-ID: <5118e88c-5b90-60f0-b5eb-ab4ce8bdc0dc@yandex.ru> References: <8a36e61a-1c5b-bf3b-a454-077348589c4f@yandex.ru> <87y29471ov.fsf@gmail.com> <837dgob6yo.fsf@gnu.org> <87wnootec0.fsf@gnus.org> <5d70b0ad-3838-ddb8-d341-9a5531d9da73@yandex.ru> <0cbf224b-b382-8a02-3f06-9f6d7e5e9741@yandex.ru> <87a6lihv7b.fsf@gmail.com> <63e03b18-db81-3b11-c692-0af9df20c506@daniel-mendler.de> <83k0kl8sxm.fsf@gnu.org> <83bl5x8r02.fsf@gnu.org> <77e98cdf-427d-ec7a-7a49-04dcd65d6a94@yandex.ru> <8735r9ii8b.fsf@gmail.com> <87tujpgscj.fsf@gmail.com> 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="13762"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 Cc: Daniel Mendler , larsi@gnus.org, monnier@iro.umontreal.ca, 48841@debbugs.gnu.org, 47711@debbugs.gnu.org To: =?UTF-8?Q?Jo=C3=A3o_?= =?UTF-8?Q?T=C3=A1vora?= Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Tue Aug 17 04:09:29 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 1mFoXh-0003QW-IM for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 17 Aug 2021 04:09:29 +0200 Original-Received: from localhost ([::1]:59080 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mFoXf-0006LL-TL for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 16 Aug 2021 22:09:27 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:39420) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mFoXG-0006L3-2N for bug-gnu-emacs@gnu.org; Mon, 16 Aug 2021 22:09:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:39675) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mFoXF-0006Rk-RQ for bug-gnu-emacs@gnu.org; Mon, 16 Aug 2021 22:09:01 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1mFoXF-00060g-Iv for bug-gnu-emacs@gnu.org; Mon, 16 Aug 2021 22:09:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 17 Aug 2021 02:09:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 47711 X-GNU-PR-Package: emacs Original-Received: via spool by 47711-submit@debbugs.gnu.org id=B47711.162916610823045 (code B ref 47711); Tue, 17 Aug 2021 02:09:01 +0000 Original-Received: (at 47711) by debbugs.gnu.org; 17 Aug 2021 02:08:28 +0000 Original-Received: from localhost ([127.0.0.1]:51219 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mFoWi-0005zZ-H1 for submit@debbugs.gnu.org; Mon, 16 Aug 2021 22:08:28 -0400 Original-Received: from mail-wm1-f43.google.com ([209.85.128.43]:35548) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mFoWd-0005ym-SJ; Mon, 16 Aug 2021 22:08:27 -0400 Original-Received: by mail-wm1-f43.google.com with SMTP id q11-20020a7bce8b0000b02902e6880d0accso787481wmj.0; Mon, 16 Aug 2021 19:08:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=IAvF5+6geKHEsuSSEwhyDFNjtZUuki/x4PcgcWs5sg4=; b=qdRwou/tFgAeUiduNxNZKjaiARWFqmtU+7h2607k1U2n6u7+bgOQW7lkiVxje3r+sh /epnbO5D2MtkVFN8RwPoDYQfXMhD0hXZ9ZpOTXFlwk54NJF0G6Fxv06cGqm9YcuWCgMy ktz3cqASgTjxboOdO2Q3B4Th7oQyxvuRS43vO2Dm2FKfqX1dvA2/Gi94FaVLi5OaEkbN YBfRKeUuRCkZryyk5VbkNENy5clAUV+MxPnRzdm3BmsEuIy1HBBtlai7zVre7ggBU/8X ZgZmXLisKRZH9YOlVr5drZwZxUNKNMjjaOhg8ghK0fE8JqkyoVbrksUrkelI7H0R+vgz DRXQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; 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=IAvF5+6geKHEsuSSEwhyDFNjtZUuki/x4PcgcWs5sg4=; b=QdkFc+2IVRvrl2EPn9wCtkV1ARoyLeDiyMt0FaKcmPrciMl/ty3bmJ3zrF9rTJU8G2 lxRIto77yeYTYry6DEWKD/yuy9sWqcTJuT9w+ckQ+5QoLhDdCqpJYSFELkuEVk2JTK14 HbC/owtY+QsSBzQMvSCKy3vdGYNi8hL+S/matFgY0OWpgqX14d4GyReXclixWAYAmV4I Xnn512JJ7/titXeHTkKws2hNeoDmM92LCSahRG7dQ9JcQwNJ7rDcUgpf0YOwglmrpuby 0UdR7QwgymCJVHg+054KpqKxxpgTENo0bDpjsePyEgAuJyyEpiJB31n9Cs1qqWn7YArz ADqA== X-Gm-Message-State: AOAM531y9UvBZx2+09np3Y1uTM2zshz4Pvtg5uD14ekxFj/b2FmWkAcl V5FoFVzgvRjwMk0BS595J33dcIb2PUA= X-Google-Smtp-Source: ABdhPJxKoZa0etc1GMrF2vGIkqKsVfbehrU+3zPd5WmDAn41g2TPJBSXFDKEuQRKOxu+ERz7+nb7VQ== X-Received: by 2002:a1c:cc02:: with SMTP id h2mr814967wmb.39.1629166098047; Mon, 16 Aug 2021 19:08:18 -0700 (PDT) Original-Received: from [192.168.0.6] ([46.251.119.176]) by smtp.googlemail.com with ESMTPSA id y11sm671479wru.0.2021.08.16.19.08.16 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 16 Aug 2021 19:08:17 -0700 (PDT) In-Reply-To: <87tujpgscj.fsf@gmail.com> Content-Language: en-US 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:212071 Archived-At: On 16.08.2021 21:25, João Távora wrote: > I've made it faster, now very close to the string-propertizing approach, > itself very close to the theoretical best (which is no copy, no > highlight). See the tip of the > scratch/icomplete-lazy-highlight-no-string-props branch, which I had to > rewrite (some Git flub-up). All benchmarks after sig. Thanks. I've read it now. This implementation style (quick exfiltration via a dynamic var with some special-cased logic) reminds me of the recent changes to eldoc, really not my cup of tea. At the very least, though, you have done the work of proving that the no-string-propertization approach can be just as fast. Thank you for that. A hash table with :test 'eq is a good choice. I'd be happy to try to tweak it further, but it also seems that at this point we can transition to the discussion about what kind of implementation style we want, since the performance is proven to be more or less on par. Though of course that should start with an alternative patch which adds icomplete support as well (either Daniel does it, or I'll give it a try).