Open Bug 1561382 Opened 5 years ago Updated 2 years ago

Consider lazily populating the Event result for add() and put() operations which return a key that may not be read. [perf]

Categories

(Core :: Storage: IndexedDB, enhancement, P3)

enhancement

Tracking

()

Tracking Status
firefox69 --- affected

People

(Reporter: asuth, Unassigned)

References

Details

Florian pointed out that the structured clone read overhead in success events from a (Firefox front-end internal) Remote Settings subsystem profiler trace have non-negligible overhead for values that are not being read. It seems possible for us to delay performing the structured clone deserialization until the value is needed in this specific case. In other cases like get() where the structured clone graph may involve actors due to Blobs/Files/etc. and the point of the API is to read the value, deferral may needlessly complicate things. Of particular concern is that, without changes, I think memory usage would not track these structured clone buffers held lazily.

Priority: -- → P3
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.