Closed Bug 1507257 Opened 6 years ago Closed 6 years ago

Reduce the memcpy overhead in create_primitive and add_primitive

Categories

(Core :: Graphics: WebRender, enhancement, P2)

enhancement

Tracking

()

RESOLVED FIXED

People

(Reporter: gw, Assigned: gw)

References

(Blocks 1 open bug)

Details

When flattening the display list, we currently pay a large memcpy overhead cost inside create_primitive. This is mostly due to the large enum struct sizes that are copied around on the stack. In some talos tests, this is ~35% of the time spent inside WR. We should be able to reduce this significantly by refactoring how create_primitive and primitive interning work in general, by using interners specific to the key / type, rather than a generic interner and primitive container.
Assignee: nobody → gwatson
Blocks: 1506033, 1504767
Priority: -- → P2
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.