Performance with windows emacs 25.1 (original) (raw)
Using irony as the primary completion enigne in company with the latest emacs has a visible delay until showing candidates for a 210 kb .c source file.
After aelp-instrument-package I have this (for emacs 25.1):
- irony-completion--send-request: 0.5411360333 (time per call)
And for emacs 24.5:
irony-completion--send-request: 0.0746239 (time per call)
This is for the same .c file at the same position. If I do a elp-instrument-function for process-send-string, 99% of that time is spend there.
I first thought that this is an issue with process-send-string but I did a small test with emacs:
I created a small program that read from stdin and wrote "SUCCESS" each time it read something and I sent it the same file from emacs with process-send-string, and the results were very different:
For emacs 24.5:
process-send-string: 1.0931796 (time per call)
And for emacs 25.1:
process-send-string: 0.6128976 (time per call)
I repeated the tests several times, and the results were the same, with small variations (2-5%).
So the issue isn't with process-send-string, but maybe it's something internal to irony-server.
Note: I used emacs 24.5 from msys64 (mingw64 version) and an emacs 25.1 compiled by me with the same flags as emacs 24.5 with mingw64.