diff options
author | Bastien Montagne <montagne29@wanadoo.fr> | 2019-01-16 13:50:20 +0300 |
---|---|---|
committer | Bastien Montagne <montagne29@wanadoo.fr> | 2019-01-16 14:02:37 +0300 |
commit | ce6d20b54e3077e8d57103de3e7933069a2d54e7 (patch) | |
tree | 63ddcbe374b95993398c9e0cf2fc8d3c43fc42bd /release/scripts/modules/bpy_types.py | |
parent | fcbbfb7789890624cdfb78e2b6036414d925616b (diff) |
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...
Diffstat (limited to 'release/scripts/modules/bpy_types.py')
0 files changed, 0 insertions, 0 deletions