Skip to content

major treemap performance regression (and maybe regressions elsewhere?) #4857

Closed
@thestinger

Description

@thestinger

I bisected this and determined that it was caused by 0682ad0. It seems the compiler is replacing what should be moves with copies - rather than just calling a real destructor once, the remove function does tons of paired allocation/destruction and ends up being at least 100x slower with >10k elements (it's actually worse than just a constant factor).

@nikomatsakis tested this against the patch from #4848 (by coincidence of that being what he had handy :P) and it was fixed or at least not nearly as bad, but it would probably be good to investigate this a bit more.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions