-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Labels
optimizationAn optimization to existing implementationAn optimization to existing implementation
Description
The tree canonizer introduced by #101 requires a couple of allocations each time it is called. The allocated memory is thrown away when the canonizer exits. Given that the canonizer may be called ~10^{6-7} times for large molecules, this is not efficient.
To reduce allocations, we could implement a Canonizer struct/enum, constructed only once during the program's lifetime. Reusing the allocated memory (using the very fast .clear()/etc between calls) will likely result in a substantial improvement.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
optimizationAn optimization to existing implementationAn optimization to existing implementation