Home Download Buy Blog Forum Support

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

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

Postby benhoyt on Tue Jan 29, 2013 10:52 pm

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?
benhoyt
 
Posts: 8
Joined: Sat Jan 29, 2011 9:34 pm

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

Postby sapphirehamster on Wed Jan 30, 2013 12:05 am

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.
sapphirehamster
 
Posts: 88
Joined: Sun Jul 01, 2012 11:19 pm

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

Postby guillermooo on Wed Jan 30, 2013 12:24 am

S3 now caches chunks of text, so the perf improvements you're seeing probably come from there.
guillermooo
 
Posts: 728
Joined: Thu Jul 23, 2009 9:06 am

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

Postby benhoyt on Wed Jan 30, 2013 1:08 am

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?
benhoyt
 
Posts: 8
Joined: Sat Jan 29, 2011 9:34 pm


Return to Plugin Development

Who is online

Users browsing this forum: No registered users and 7 guests