> In general, performance is good for relase now. The canonconsistent > test completes in 30 seconds here. Converting cansmi-roundtrip.smi to > can takes 16 seconds, to smi takes 8 so canonical coding takes about > 50% of the total time when doing a file conversion.
I've added some revisions to the kekule.cpp code, including a timeout. If the timeout triggers, then the ring-fragment-based LSSR analysis kicks in, which is imperfect, but much faster. At the moment, I'm using a 15-second timeout, since I mainly want to prevent "endless" recursion in graphene, nanotubes, big fullerenes, etc. I don't want to set it too short, since the LSSR analysis has some clear bugs on meaningful structures like c60, porphyrins, etc. The "metallocene hack" sounds about right. I think the key test for Craig was: C12[Pr]3456789%10%11%12%13(C1C3C%13C24)(C1C9C%10C7C%121)C1C5C%11C8C61 This has 3 identical rings, but I would think finding >8 neighbors with identical symmetry classes would trigger the optimization you discuss. -Geoff P.S. I can see that we've already fixed some of Craig's issues, e.g.: c12=c(nn2)ssnc1S 6137697 ------------------------------------------------------------------------------ Beautiful is writing same markup. Internet Explorer 9 supports standards for HTML5, CSS3, SVG 1.1, ECMAScript5, and DOM L2 & L3. Spend less time writing and rewriting code and more time creating great experiences on the web. Be a part of the beta today. http://p.sf.net/sfu/beautyoftheweb _______________________________________________ OpenBabel-Devel mailing list OpenBabel-Devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openbabel-devel