-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Ignore proc-macro stdout to prevent IPC crash #8159
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
c176cea to
e785aaf
Compare
|
Fun fact: we seem to do about 2080 proc macro expansions when analyzing RA itself, 166 of them with a response of more than 100 000 bytes, the largest being almost 600 KB. |
huh, who's that? |
|
Yeah, looks like that's lsp_types::ServerCapabilites. Is this a single invocation, or all of the deserializes in the crate? If that's a single one, that feels excessive. |
|
A single invocation, top ones are below. The total is 52 MB. |
|
Could we use something like bincode or rykv instead of json? |
|
We could, but I'm not sure if it's slow enough to matter. We could also reuse the storage. |
|
Yeah, |
|
I think a fast fixup will be doing some special treatment on TokenId = -1 case.
On Tue, 23 Mar 2021 at 23:08, Aleksey Kladov ***@***.***> wrote:
Yeah, cargo expand for lsp types produces 6.1mb out of 256kb, a factor of
25 blow-up. That probably isnt' completely unreasonable, but still...
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#8159 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACUA7Z6MO4NUGDC4NRUUGBLTFCVFBANCNFSM4ZUKYDTA>
.
--
Cheers,
Edwin Cheng
|
e785aaf to
9da069e
Compare
Reuse storage for the buffer send to child process of proc-macro.
9da069e to
79f583e
Compare
|
I changed it to pass a buffer to reuse the storage. and let's handle the actual json size problem in another PR. |
|
bors r+ |
|
Implemented #8182 for the method I mentioned above. |
|
changelog fix |

fixes #7954
r? @flodiebold