Files
rdkit/Code/GraphMol
Dan Nealschneider dae2061d85 CIPLabeler performance: Store vector of bonds (#9250)
* CIPLabeler performance: Store vector of bonds

CIPLabelling refers to bonds by index over and over again. This
causes a measurable hit in performance in findConfigs() because
we iterate over a bitset of "allowed" bonds. For very large
molecules with many bonds, this can be a rate-limiting step!

This affects many PDB-sized structures.

2J3N goes from 0.7s to 0.25s with this change.

I had another example for which the findBondWithIdx() call was
taking 500ms of a 700ms call (after the performance update
in #9171 was implemented)

* yikes, XXL reserve

thanks, greg

Co-authored-by: Greg Landrum <greg.landrum@gmail.com>

---------

Co-authored-by: Greg Landrum <greg.landrum@gmail.com>
2026-05-29 05:45:58 +02:00
..
2026-03-24 10:03:02 +01:00
2019-10-10 20:18:43 +09:00
2026-02-26 08:58:36 +01:00
2019-10-10 20:18:43 +09:00
2025-03-20 07:40:33 +01:00
2026-03-20 04:28:17 +01:00
2026-03-12 05:54:20 +01:00
2026-03-20 04:28:17 +01:00
2025-10-08 16:08:01 +02:00
2018-07-25 09:14:17 +02:00
2026-04-30 14:20:28 +02:00
2026-03-20 04:28:17 +01:00
2025-03-17 19:54:15 +01:00
2021-07-09 15:06:54 +02:00
2018-07-25 09:14:17 +02:00
2019-10-10 20:18:43 +09:00
2020-09-02 04:51:20 +02:00
2023-12-22 04:58:18 +01:00
2019-12-31 06:43:27 +01:00
2026-04-30 14:19:28 +02:00
2025-12-09 15:06:29 +01:00