devtools/dataimport.py
author Sylvain Thénault <sylvain.thenault@logilab.fr>
Wed, 31 Mar 2010 09:55:19 +0200
branchstable
changeset 5093 8d073d2e089d
parent 4847 9466604ef448
child 5421 8167de96c523
permissions -rw-r--r--
[optimization] improve massive write performance by optimizing hooks selection profiling on some massive deletion showed up that 2/3 of the time was spent in hooks selection. Those changes make it much more acceptable (through selection is still not negligeable): * use one registry for each event, so we've much less hooks to check when emiting an event as well as no more need for the match_event selector. This required ability to put one appobject into several registries, using a __registries__ class attribute. * check for deprecated .enabled at registry initialization time instead of at selection time A very simple HooksManager class has been reintroduce to choose the right registry on call_hooks. Those optimisations leads to a ~x3 factor of time necessary to delete 16000 entities.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
4847
9466604ef448 move devtools.dataimport at the cw level since we don't want cubes using it to depends on cubicweb-dev
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 4818
diff changeset
     1
# pylint: disable-msg=W0614,W0401
9466604ef448 move devtools.dataimport at the cw level since we don't want cubes using it to depends on cubicweb-dev
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 4818
diff changeset
     2
from warnings import warn
9466604ef448 move devtools.dataimport at the cw level since we don't want cubes using it to depends on cubicweb-dev
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 4818
diff changeset
     3
warn('moved to cubicweb.dataimport', DeprecationWarning, stacklevel=2)
9466604ef448 move devtools.dataimport at the cw level since we don't want cubes using it to depends on cubicweb-dev
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 4818
diff changeset
     4
from cubicweb.dataimport import *