From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Daniel Pittman Newsgroups: gmane.emacs.devel Subject: Re: new-flex-completion-style Date: Wed, 13 Feb 2019 12:34:55 -0500 Message-ID: References: <20190202232827.27331.87300@vcs0.savannah.gnu.org> <20190202232828.4AE452159A@vcs0.savannah.gnu.org> <87lg2mynrg.fsf@gmail.com> <87wom5amkd.fsf@telefonica.net> <878sykzmrs.fsf@gmail.com> <87sgwsa5wk.fsf@telefonica.net> <87bm3fae80.fsf@telefonica.net> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="000000000000ef22510581c9f7bd" Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="229804"; mail-complaints-to="usenet@blaine.gmane.org" Cc: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Feb 13 18:35:49 2019 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1gtyRn-000xaE-2P for ged-emacs-devel@m.gmane.org; Wed, 13 Feb 2019 18:35:47 +0100 Original-Received: from localhost ([127.0.0.1]:32880 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gtyRm-000840-43 for ged-emacs-devel@m.gmane.org; Wed, 13 Feb 2019 12:35:46 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:60181) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gtyRf-00083n-D4 for emacs-devel@gnu.org; Wed, 13 Feb 2019 12:35:40 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gtyRe-00026W-BD for emacs-devel@gnu.org; Wed, 13 Feb 2019 12:35:39 -0500 Original-Received: from mail-it1-x132.google.com ([2607:f8b0:4864:20::132]:53423) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gtyRe-00022N-0e for emacs-devel@gnu.org; Wed, 13 Feb 2019 12:35:38 -0500 Original-Received: by mail-it1-x132.google.com with SMTP id x131so6456454itc.3 for ; Wed, 13 Feb 2019 09:35:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:cc; bh=+MDuw6EoJsquytMtY88hOgq2fyFs1VRtT8y8lV5MuKg=; b=cmaz7zZNdxSyFcgRK7ASyyXudCPOT3BEOcnsQsCJ06A0/TYe+MHCVx/Ue6iehy9jfl ePJMsm3VEv7axfzpQFVkuGpLS20iT9MhVE5NSSklF+BgfGfYPwc7oz98eK/GfgbLswD/ Gu6adKwVK342Raw1zxIGS0LR1kNYHqITve6kaTSIMDfjTSO8XG8iacnO8HaTXiYu88l5 rSNhIzTb2L4/W+GB67s49inT5YoSBG3rczHi3ANgXgNGOwI6D8E31hRDLbKemCslFzdy ChvlWUeWttfTUnmzCI8k/G214o2Y4nA4xP10sIbThV3dVs9VxtDPrcNPo42B1uvMzBKJ POaQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:cc; bh=+MDuw6EoJsquytMtY88hOgq2fyFs1VRtT8y8lV5MuKg=; b=Rm/Z5kLpVrraZxSxR3chzc4ZJr3tq5bUPnWV3vPNiX1ukQMgL1KfFXhNaa1u7r0nMw sVLgPKlesWEwBx1e1rNJXfCDbB+odjhymB8DOwpW7gT/fDmEewzPdcChadoVOmaVmK8j W4qPyrd2/YcPr3bLwgRVrNLwk3Lc5LD2HH1V6m7YwYEMiktMhL5Gtv9JeWmN/Vt+C+KH TaeEAR+lt4k6V4E/cQdog5K/BqKNi2qlj1ubUTEMtBbpHC9vURgYdsU7dJlK42+OYTpz +pEO50Gd6PJc3wRqoig4+d7o0U/BhJEApnk8ofvTIP5zbVs5iTiymC9LFGEeZbVMiRnM 4anQ== X-Gm-Message-State: AHQUAuYZqtKx/6CTVoAAYPcEamDPEVxeKNM4efDTH9w2UBILZanilMSI 36u0Ucp8SQzg2RNWAydhqY//rvTK4Evxpce0S+uvgX9TCsoeYA== X-Google-Smtp-Source: AHgI3IZQi7uB6jpooCWoLSW9eWuQH8Z52kb9cQ7IE6UQxw5RULXjcDhgj9E2flHVrko+qwurLgetSLoYexC+vWZ09Mo= X-Received: by 2002:a24:7541:: with SMTP id y62mr981680itc.175.1550079331572; Wed, 13 Feb 2019 09:35:31 -0800 (PST) In-Reply-To: <87bm3fae80.fsf@telefonica.net> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::132 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 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.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:233284 Archived-At: --000000000000ef22510581c9f7bd Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, Feb 13, 2019 at 10:42 AM =C3=93scar Fuentes wrote: > Stefan Monnier writes: > > >> But you didn't answer my question: what specific features of flx > >> are you looking for? > > - It's supposed to be particularly fast. > > Not quite. The initial implementation was terribly slow. Then it became > usable at the expense of memory usage (caching), which is way higher > than it should be for a feature like this. > > It is in my to-do list to implement the algorithm in C, either into > Emacs core or as an extension, and see if the speed improvement is good > enough to dispense with all the caching. > FWIW, I have a general intention with no concrete action as yet to work out how easiest to wire up fzf for matching, since it is extremely fast, reasonably memory efficient, and at least for me does a good heuristic job of matching things the way I expect them to match. The MIT license makes it possible to use as a module, though I also considered if a "pipe" mode akin to {i,a,hun}spell might be a smarter strategy. https://github.com/junegunn/fzf This was motivated by my experience with flx, which was ... not positive, in terms of matching in the way I expected. It was better than the ".* between every letter" model that it replaced, however. --000000000000ef22510581c9f7bd Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
On Wed, Feb 13, 2019 at = 10:42 AM =C3=93scar Fuentes <ofv@wanad= oo.es> wrote:
Stefan Monnier <monnier@iro.umontreal.ca> wri= tes:

>> But you didn't answer my question: what specific features of f= lx
>> are you looking for?
> - It's supposed to be particularl= y fast.

Not quite. The initial implementation was terribly slow. Then it became
usable at the expense of memory usage (caching), which is way higher
than it should be for a feature like this.

It is in my to-do list to implement the algorithm in C, either into
Emacs core or as an extension, and see if the speed improvement is good
enough to dispense with all the caching.

FWIW, I have a general intention with no concrete action as yet to work o= ut how easiest to wire up fzf for matching, since it is extremely fast, rea= sonably memory efficient, and at least for me does a good heuristic job of = matching things the way I expect them to match.=C2=A0 The MIT license makes= it possible to use as a module, though I also considered if a "pipe&q= uot; mode akin to {i,a,hun}spell might be a smarter strategy.

This was motivated by my expe= rience with flx, which was ... not positive, in terms of matching in the wa= y I expected.=C2=A0 It was better than the ".* between every letter&qu= ot; model that it replaced, however.
--000000000000ef22510581c9f7bd--