Sublime Forum

ST3's new out of process plugins: speed/inter-process comms

#1

Just a couple of curiosity questions, really:

  1. With the plugins now being run in a different process from the main editor, there must be inter-process comms used to ship data to and from the main process. Does this noticeably slow things down, for instance, a plugin that does bulk text manipulation on a file?

  2. Out of curiosity, what form of inter-process comms is being used? TCP, named pipes (Windows), something else?

0 Likes

#2

I have a word-wrapping plugin, which does a significant amount of view.line/view.substr tomfoolery. I did a timing test on a very large file to see if there was any difference. It actually ran about 5% faster on ST3!

In the announcement thread, Jon mentioned that it uses shared memory to communicate between the processes.

0 Likes

#3

S3 now caches chunks of text, so the perf improvements you’re seeing probably come from there.

0 Likes

#4

Wow, that’s cool. Ah, I see the thread now: viewtopic.php?f=2&t=10780&start=30#p42430 – shared memory. I guess that means memory-mapped files?

I’d love to know more about how this inter-process plugin system is designed. Was it based on Chrome’s multi-process plugin architecture?

0 Likes

Inter-Plugin communication - How To?