Skip to content

Performance regression #57

@anyuser

Description

@anyuser

I have been using an older version of this library for a while (here). It was a version from a few years ago where pooling was partly implemented, but it still generated repeated GC allocations in some places. There was a UsePooling setting, which is on in my project.

Now I tried updating the library to the last version here with "full" pooling support, and the performance is much worse. The same tesselation of a polygon blob for testing takes around 50x more time than with the old version. Most time seems to be spent in DefaultPool.Return().

Old:
Screenshot 2024-09-30 at 10 14 44

New:
Screenshot 2024-09-30 at 10 04 17

Note: This is profiled with Unity's "deep" profiling, so profiling itself distorts the numbers a bit. But it's also very noticeable without deep profiling.

Is this a known issue? Any Ideas what could be the problem?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions