Skip to content

[Feature Request] More performant server #17

Closed

Description

@HerringtonDarkholme

Hi. Python language server is well written, thank you for your contribution.

However, after using I find some improvements can be done.

  1. logger
    Tracked by [Suggestion] Use File based logger #15. Logging to stderr will block stdout writing.

  2. threaded reading
    Now PLS in stdio mode is single threaded.


    So if client sends too many requests than stdin can buffer, PLS will also block because it cannot write to stdout. (It seems stdin/stdout/stderr share one common buffer)

  3. cached compeletion
    PLS generally is slower than deoplete-jedi, another jedi based completion plugin. The main reason is deoplete-jedi uses a cache. https://github.com/zchee/deoplete-jedi/blob/master/rplugin/python3/deoplete/sources/deoplete_jedi/cache.py If PLS can also support cache it should be faster.

Thanks!

Activity

  1. gatesn commented on Mar 7, 2017

    @gatesn
    Contributor

    +1 to all three here!

  2. HerringtonDarkholme commented on Mar 7, 2017

    @HerringtonDarkholme
    Author

    Hi @gatesn! Thanks for quick reply.

    Currently I use PLS with neovim. But I would like to try it out with VSCode like that in README. (Fairly, I cannot tell the behavior I see is due to client or server, so I need another client to compare.)

    However I cannot find extension in VSCode market. Would you like provide a installation manual?

    Or do I need create a wrapper extension for PLS? Thanks!

  3. gatesn commented on Mar 7, 2017

    @gatesn
    Contributor

    @HerringtonDarkholme nice idea. I've noticed a few language servers do come with wrapper extensions. Would be happy to look into it some time, could you create a separate issue for it? Thanks

  4. gatesn commented on Jun 29, 2017

    @gatesn
    Contributor

    @HerringtonDarkholme thanks for raising these points. I want to close this ticket and instead track individually any ideas for performance improvements. Here are some to get us started:

    performance

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions