Automatically serialize large strings and numeric arrays using shared memory
Categories
(Core :: IPC, enhancement)
Tracking
()
Tracking | Status | |
---|---|---|
firefox107 | --- | fixed |
People
(Reporter: nika, Assigned: nika)
References
(Blocks 1 open bug, Regressed 1 open bug)
Details
Attachments
(2 files)
This will involve both a copy into the shared memory region, and a copy out of it on the receiving side, however should still be reasonably efficient. This will avoid congesting the IPC pipe and help improve throughput in some cases.
This is similar to the BigString
type used in chromium in some ways, however due to IPDL limitations it is automatic for all strings, rather than requiring explicit opt-in.
For efficiency in the case where we don't allocate a shared memory region, this will probably not actually use BigBuffer
under the hood for the implementation, but will share many implementation details.
Assignee | ||
Comment 1•2 years ago
|
||
These aren't used anywhere, so can be removed, simplifying some things.
Assignee | ||
Comment 2•2 years ago
|
||
This changes and unifies the serialization strategy for types like
ns[C]String
, nsTArray<T>
, std::vector<T>
etc such that they are all
serialized using a common implementation. For types which are trivial to
transfer with memcpy
, they will automatically be serialized into a shared
memory region and copied out on the other side if its size exceeds 64k.
Depends on D153802
Comment 4•2 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/a4a31b1166e0
https://hg.mozilla.org/mozilla-central/rev/f194cdbd288a
Description
•