codota / tabnine-sublime

Tabnine Autocomplete AI: JavaScript, Python, TypeScript, PHP, C/C++, HTML/CSS, Go, Java, Ruby, C#, Rust, SQL, Bash, Kotlin, Julia, Lua, OCaml, Perl, Haskell, React
https://www.tabnine.com/install/sublime
MIT License
194 stars 36 forks source link

Enhancement: Load specific binaries #1

Open pykong opened 5 years ago

pykong commented 5 years ago

@zxqfl You may consider loading only those binaries specific to the platform. Do that post-install. The requests library is available to this end.

zxqfl commented 5 years ago

This would improve install times, but I'm hesitant to implement it because if the download fails or takes a long time, the user might think the package just doesn't work. Packaging the binaries in the repo lets us use Package Control's progress indicator.

We could maybe include a progress indicator in the completion pop-up, though, so I'll leave this issue open.

pykong commented 5 years ago

Indeed the long install time without proper feedback to the user is the underlying issue here. I am not sure however how you would go about informing the user pre-download, since before the package is completely loaded, including the large binaries.

Hence my suggestion for downloading the binaries after the scripts have loaded. One package which downloads huge payload is: https://github.com/Colorsublime/Colorsublime-Plugin

There is also a way to include platform-specific dependencies. https://packagecontrol.io/docs/dependencies This could be a way to minimize the data size to be downloaded. And it is all handled automatically.

zxqfl commented 5 years ago

It's a good point. I'll aim to implement it this weekend.