canonise (line 78) rebuilds a heap-heavy graph through constructFromEdgeList (line 363), which scans all edges and copies atom strings.
Iterate selected mask bits, pre-intern atom labels, and feed reusable flat CSR scratch directly into tree/cyclic canonicalisation. This most benefits 5843 and bisphenylmaleimide, where 60–71% of algorithm time is initial enumeration.
canonise (line 78) rebuilds a heap-heavy graph through constructFromEdgeList (line 363), which scans all edges and copies atom strings.
Iterate selected mask bits, pre-intern atom labels, and feed reusable flat CSR scratch directly into tree/cyclic canonicalisation. This most benefits 5843 and bisphenylmaleimide, where 60–71% of algorithm time is initial enumeration.