From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Daniel Mendler Newsgroups: gmane.emacs.devel Subject: Re: complexity in minibuffer Date: Wed, 2 Jun 2021 17:59:33 +0200 Message-ID: <4c292383-6d10-c630-7ea5-dd939114d81c@daniel-mendler.de> References: <875yyxaoxp.fsf@gmail.com> <871r9laj6a.fsf@gmail.com> <1b73a130-204c-76fb-2b60-02b814aee0f0@daniel-mendler.de> <87r1hl8xom.fsf@gmail.com> <878s3t8tzw.fsf@gmail.com> <3c68bd00-70ca-fa18-f9b8-cd03029f9294@daniel-mendler.de> <8735u18lsd.fsf@gmail.com> <8e33bbfe-0015-b85c-b57c-ba448f2e6215@yandex.ru> <3d519805-f602-fa52-ec69-0506bb6cb568@yandex.ru> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="20660"; mail-complaints-to="usenet@ciao.gmane.io" Cc: "emacs-devel@gnu.org" , Dmitry Gutov , Juri Linkov To: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= , Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Jun 02 18:02:14 2021 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 1loTJu-00058F-3m for ged-emacs-devel@m.gmane-mx.org; Wed, 02 Jun 2021 18:02:14 +0200 Original-Received: from localhost ([::1]:39274 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1loTJs-0005oT-T7 for ged-emacs-devel@m.gmane-mx.org; Wed, 02 Jun 2021 12:02:12 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:55720) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1loTHR-0003dc-11 for emacs-devel@gnu.org; Wed, 02 Jun 2021 11:59:41 -0400 Original-Received: from server.qxqx.de ([2a01:4f8:121:346::180]:35883 helo=mail.qxqx.de) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1loTHO-0005At-6M for emacs-devel@gnu.org; Wed, 02 Jun 2021 11:59:40 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=qxqx.de; s=mail1392553390; h=Content-Transfer-Encoding:Content-Type:In-Reply-To: MIME-Version:Date:Message-ID:From:References:Cc:To:Subject:Sender:Reply-To: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=lhzJgUT0gkw4oouB4zIgquEhLUDyoql+wfc8hmZcVLk=; b=wmjNPatoh0J2RpG3fHCMuGBdpp NGCRNj1Ip7XWS/ePHu6u+Wm1lt944Zx7SyucyDzeO4kitaVrg6jSfNxqyqFYqHnqJX3tocFiKFWAa E8aKGgD+uLni/H4kPn16r6todhLvt/xf86pS/YvfGmaP/IN0LJ40v8R5F5pKKwtu2Az8=; In-Reply-To: Content-Language: en-US Received-SPF: pass client-ip=2a01:4f8:121:346::180; envelope-from=mail@daniel-mendler.de; helo=mail.qxqx.de X-Spam_score_int: -41 X-Spam_score: -4.2 X-Spam_bar: ---- X-Spam_report: (-4.2 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_PASS=-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.23 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:270309 Archived-At: On 6/2/21 5:45 PM, João Távora wrote: >> If you have 10K completions, the time need to compute their rendering >> becomes very significant, so we want to only compute the rendering for >> those completion which actually reach the glass. > > Same answer as to Dmitry. Did you miss the fact from a lot of email ago > that I'm proposing attaching a function to each completions to be called > just-in-time? The only extra cost is the attachment of this function to the > completion. Do you prefer attaching the annotation functions to each completion candidate over passing down the functions or the metadata to the display functions directly as argument? This sounds like an unnecessary mutation of the candidates and it is more complicated. If you ask me, threading the argument down is the better approach. And as you mentioned there is also the option to use a dynamically bound variable, in case you want to avoid passing the metadata down explicitly as an argument. I prefer to use an explicit function argument, over introducing global variables, but this is clearly a matter of taste. Daniel