This project is read-only.


NuGet PowerShell Tab Completion is SLOW over a slow connection


It looks like we download way too much when we perform tab expansion from PowerShell. Slow connections make this completely unusuable.

Scott Hanselman had a few ideas:
  1. Add OData caching for these queries. Perhaps 5 minutes.
  2. Do a projection on the server side and return less info on the wire (but still Odata)
  3. Update the NuGet client to just do a querystring call that returns Json.
Closed Jun 13, 2012 at 10:38 PM by aldion
  • tested on VS 2010 SP1, VS 11
  • Verified autocomplete functionality for package name, version on
    • Local (disk based) feed, UNC
    • (v1/v2)
    • MSNuGet
    • Preview.NuGet
    • MyGet
    • NuGet.Server 1.4
    • Aggregate w/ above
  • autocomplete of -id, -version on the following commands
    • Install-Package
    • Update-Package
    • Uninstall-Package
    • Open-PackagePage
  • note: didn't measure in tangible number perf change yet
  • filed #2317 - -version may show duplicates, regression
  • filed #2318 - no way to cancel or timeout (nothing new)


noelarlante wrote Mar 2, 2012 at 4:24 PM

Sure slow connection is common here in our part of the world

dotnetjunky wrote Mar 2, 2012 at 5:48 PM

Yeah, there was a bug filed long time ago but we didn't address it for some reason that I have forgotten. :)

Monomachus wrote Mar 3, 2012 at 8:36 AM

I would also make this configurable.
"Add OData caching for these queries. Perhaps 5 minutes."
For me, for example, it would be nice to have 1 hour cache.

jasondenizac wrote Mar 16, 2012 at 3:15 AM

Even on a fast connection, there's quite a bit of latency. Ideally I'd want it to be as fast as, say Google autocomplete :)

drewmiller wrote Jun 13, 2012 at 12:47 AM

Improved things with revisions 9e43ca315805..f036d8c21483. It still won't be great with severe latency; for that we'll have to make much more complicated changes to eagerly get and cache data, which might be a problem with our privacy concerns. This hopefully will improve things for many, if not most.