Closed
Bug 1832841
Opened 3 years ago
Closed 3 years ago
Improve performance of RemoteValue serialization and deserialization
Categories
(Remote Protocol :: WebDriver BiDi, enhancement)
Remote Protocol
WebDriver BiDi
Tracking
(Not tracked)
RESOLVED
INVALID
People
(Reporter: whimboo, Unassigned)
References
(Blocks 1 open bug)
Details
(Keywords: perf)
For my patches upcoming on bug 1830884 and bug 1822466 Julian did some performance checks and noticed a couple of performance regressions:
Serialize:
Code:
{ target: { context: "42d7a174-b85c-4354-954d-128bba53e5c6"}, awaitPromise: false, expression: "var n = document.querySelector('div');\n var a = [];\n for (var i = 0; i < 10000; i++) {a.push(n)}\n a" }
Results:
- serialize 10000 nodes with patch: https://share.firefox.dev/42tKhgQ (847ms)
- serialize 10000 nodes without patch: https://share.firefox.dev/3pEtBEz (61ms)
Deserialize:
Code:
const args = [];
for (var i = 0; i < 10000; i++) {
args.push({ "type": "node", "sharedId": "bf108805-c4fd-4fa2-a0e5-6e99f9177743"});
}
await sendCommand("script.callFunction", {
target: { context },
awaitPromise: false,
functionDeclaration: "(a) => console.log(a)",
arguments: args
});
Results:
- deserialize 10000 nodes with patch: https://share.firefox.dev/3nVEDF3 (118ms)
- deserialize 10000 nodes without patch: https://share.firefox.dev/41wD3ag (52ms)
I can already see a couple of places where we can have improvements so I will try to get to it next week.
| Reporter | ||
Comment 1•3 years ago
|
||
Both patches for bug 1830884 and bug 1822466 got backed out. For the next landing we will take care of good performance so I'm going to close this bug.
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → INVALID
You need to log in
before you can comment on or make changes to this bug.
Description
•