Jason Duell
2009-12-04 05:50:34 UTC
So far for necko e10s I've been trying to design in what seem like
sensible optimizations up front (not creating the parent channel until
AsyncOpen time, copying the entire request/response headers once at
request/reply time to avoid IPC traffic, etc.) while I code. But I'm
starting to suspect that I may be able to get something working sooner
by using a simpler "remote object" model, where I avoid subtle issues
of keeping the chrome/tab channels in sync by just proxying everything
possible (each set/get method, etc.) to the chrome channel, while
keeping the tab HTTP channel as dumb and stateless as possible. This
will result in potentially lots of IPC traffic, but I figure that can
be optimized piece by piece later (based on IPC traffic profiles), and
will get us a working e10s HTTP faster.
Any objections?
sensible optimizations up front (not creating the parent channel until
AsyncOpen time, copying the entire request/response headers once at
request/reply time to avoid IPC traffic, etc.) while I code. But I'm
starting to suspect that I may be able to get something working sooner
by using a simpler "remote object" model, where I avoid subtle issues
of keeping the chrome/tab channels in sync by just proxying everything
possible (each set/get method, etc.) to the chrome channel, while
keeping the tab HTTP channel as dumb and stateless as possible. This
will result in potentially lots of IPC traffic, but I figure that can
be optimized piece by piece later (based on IPC traffic profiles), and
will get us a working e10s HTTP faster.
Any objections?