From: Stefan Monnier <monnier@iro.umontreal.ca>
To: "Eric M. Ludlam" <eric@siege-engine.com>
Cc: dgutov@gnu.org, cedet-devel@lists.sourceforge.net, emacs-devel@gnu.org
Subject: Re: CEDET completion-at-point-function
Date: Wed, 18 Jun 2014 21:47:08 -0400 [thread overview]
Message-ID: <jwvy4wt1xqp.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <53A23AD7.3050007@siege-engine.com> (Eric M. Ludlam's message of "Wed, 18 Jun 2014 21:20:23 -0400")
> to better comment. There is an expense expanding from some symbol p (which
> could be port) past the ->, and to the next symbol. If there happen to be
> 10 possible "p" expansions that are all also some sort of struct, then p->f,
> the f could be a rather large number of possible things, and thus be
> expensive if not handled carefully.
Indeed.
> For example if the code had 4 variables "port1" "port2", etc that were
> all the same type. When expanding the ->f, that should happen once
> instead of 4 times because we know all the types are the same.
A bit of caching should go a long way, but in any case, as you mention:
we'll cross that bridge when we get there.
> reference. "d" is generally derived the same as f and a, but we apply one
> last filter of the return type, so if you had:
> q = p->f->a->d;
> Then d's type should be similar to q.
That's odd. Does that mean that the user might have been unable to use
completion on the "p->f->a" part (before typing "->d") because the "a"
field was not of a similar type as q?
Or do you first use this "type similar to context" filter an if the
filter doesn't let anything through, then you drop the filter (kind of
like we filter out files that match completion-ignored-extensions,
except when that results in "no match")?
> I hope that helps, though I'm pretty sure it won't impact your current
> experiment much since these are all thoughts of optional optimizations.
Indeed.
Stefan
------------------------------------------------------------------------------
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing & Easy Data Exploration
http://p.sf.net/sfu/hpccsystems
next prev parent reply other threads:[~2014-06-19 1:47 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-11 18:24 CEDET completion-at-point-function Stefan Monnier
2014-05-13 1:59 ` Eric M. Ludlam
2014-06-15 3:14 ` [CEDET-devel] " Stefan Monnier
2014-06-15 18:55 ` Eric M. Ludlam
2014-06-16 20:52 ` [CEDET-devel] " Stefan Monnier
2014-06-19 1:20 ` Eric M. Ludlam
2014-06-19 1:47 ` Stefan Monnier [this message]
2014-06-22 0:23 ` Eric M. Ludlam
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=jwvy4wt1xqp.fsf-monnier+emacs@gnu.org \
--to=monnier@iro.umontreal.ca \
--cc=cedet-devel@lists.sourceforge.net \
--cc=dgutov@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=eric@siege-engine.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.