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: scratch/backend-completion aaaa016056 2/2: Speed it up Date: Sat, 03 Dec 2022 19:18:12 -0500 Message-ID: References: <167007345844.23701.8454474119701440468@vcs2.savannah.gnu.org> <20221203131739.3FCF9C004BE@vcs2.savannah.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="40760"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: emacs-devel@gnu.org To: =?windows-1252?B?Sm/jbyBU4XZvcmE=?= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sun Dec 04 01:19:09 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 1p1cir-000AO8-0j for ged-emacs-devel@m.gmane-mx.org; Sun, 04 Dec 2022 01:19:09 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1p1ci5-0006NY-Es; Sat, 03 Dec 2022 19:18:21 -0500 Original-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 1p1ci4-0006NQ-5K for emacs-devel@gnu.org; Sat, 03 Dec 2022 19:18:20 -0500 Original-Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1p1ci1-0005NZ-G9 for emacs-devel@gnu.org; Sat, 03 Dec 2022 19:18:19 -0500 Original-Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id B3F1C100182; Sat, 3 Dec 2022 19:18:14 -0500 (EST) Original-Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 39DC710013B; Sat, 3 Dec 2022 19:18:13 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1670113093; bh=dkDOXm/mm6N4jInAUHSOVlkG4ow+KMM9nFLWVJXcI8k=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=NoUNwekvCuAWMXnP/ZMSX9/c4AJ3XKLSaY+y4N3UoNeqk9Syg2E4iZ8EvMeKpZdOu 3E22uhM8hdMuB1ih3LE39KnV/ffwoNSDJxph9HMUm92NPCELIjXImGWB9od7yOod7U MysgyIvNF+F3w8sxQSHoaY9gkGLLvRmZEOpmk7k1PjtAhbgmc9ibqHMpfq/0gCh0uV 3komNa474ob4I/JYfkp8NEaPgJDo+ka0mvJXC2a49KH5VPzny7ZA4ngKsbjDIl9nBm sKludsumATeWUNuPCseAA4wOB5Bykjmm/x5ycYNXVxw4ymvMRi9M16ndk+JqL2ketY efGfyMylQFjWQ== Original-Received: from pastel (unknown [45.72.193.52]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 17F0E12256B; Sat, 3 Dec 2022 19:18:13 -0500 (EST) In-Reply-To: (=?windows-1252?Q?=22Jo=E3o_T=E1vora=22's?= message of "Sat, 3 Dec 2022 23:30:37 +0000") 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 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-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:300882 Archived-At: >> But I'm surprised it made things slow: this code should only be involved >> when the user choose some *other* completion style, so could you check >> which method of the completion table was invoked? > It seems to be called with both `nil` and `lambda`. I've added this to the > FIXME comment. Hmm... can you get a backtrace for when it's called with `nil`? > It made things slow because when selecting a candidate with > fido-vertical-mode it did another useless 0.5s/1s lookup for the thing > I had just selected. Yes, it's only meant as a fallback case (and if we intend it to work more or less acceptably we'd need to add some caching). >> Maybe we should only use that code when `action` is one of `t` or `nil`? > Maybe. Anyway in my tests it's working fine without it. But `nil` doesn't > break them, so I'm fine if you add them. I'm just confused about the > possible benefits that may come from that complexity. I wish you could > post an illustrative example with some strings that a mere mortal might > follow along. As I said, it's for the case where the users want to use that completion table with another completion-style. Stefan