You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Calling an executable is rather expensive in Windows. It would be much faster for the IDE plugin to call a DLL instead. And since other tools might also use it a 64 bit and 32 bit DLL would be really nice.
(I would help, but I have no experience with Rust programming.)
The text was updated successfully, but these errors were encountered:
Hi @dummzeuch, thanks for asking this; it's a good question.
When creating pasfmt-rad we did consider all the available options for integration and we settled on subprocess communication for a few reasons
It's the easiest interface to keep stable across multiple versions of the program
It's simpler and less error-prone
The performance was more than good enough in our testing.
On a fast CPU (with no anti-virus) I have measured the overhead of launching a Windows process to be about 10ms.
On a reasonably fast CPU (with anti-virus) I have measured this overhead as closer to 30ms.
While these durations are an eternity for a computer, they are merely one or two additional frames for a user in front of a screen.
I do agree that it would be faster if run as a DLL, but it would have to be a complex interface to support all of the configuration options, and this interface is bound to be unstable because the tool is so new.
If you have some evidence that shows that the expense of running pasfmt as a subprocess is noticeable in the IDE plugin I'd be interested to see it.
Calling an executable is rather expensive in Windows. It would be much faster for the IDE plugin to call a DLL instead. And since other tools might also use it a 64 bit and 32 bit DLL would be really nice.
(I would help, but I have no experience with Rust programming.)
The text was updated successfully, but these errors were encountered: