Blender Git Commit Log
Git Commits -> Revision ce6d20b
Revision ce6d20b by Bastien Montagne (master) January 16, 2019, 11:02 (GMT) |
Add experimental batch IDs deletion. Main idea is to remove IDs to be deleted from Main, to avoid looping on them to remove other deleted IDs usage (this is the most expensive process in ID deletion, by far). Speed improvements when deleting a large amount of IDs from a Main containing a lot of them is quite significant, some examples for Objects: * Removing 1k from 10k: 32% quicker (2.5s to 1.7s). * Removing 10k from 20k: 60% quicker (59s to 23s). * Removing 20k from 20k: 99.5% quicker (82s to 0.4s)! Note however that this process is more risky/touchy, since we by-pass some safety checks from regular ID removal here. So will only give access to that code from python API for now (in separate commit), so that it gets really tested. Also still need to think about how to hook it up in UI (probably mostly for Outliner), since we often do higher-level operations there... |
Commit Details:
Full Hash: ce6d20b54e3077e8d57103de3e7933069a2d54e7
Parent Commit: fcbbfb7
Lines Changed: +119, -22