summaryrefslogtreecommitdiff
path: root/setup/package.dfsrc
diff options
context:
space:
mode:
authorXavier Morel <xmo@odoo.com>2020-04-03 09:35:08 +0000
committerXavier Morel <xmo@odoo.com>2020-04-03 09:35:08 +0000
commit6c4e4981bc4e16a8d3b48f6463606fa1a7b36d3c (patch)
treec805e0574255755e0a634ec83cf6d70bd3001a39 /setup/package.dfsrc
parent366a7d6115a0817695d4cc64d24139349e6037fd (diff)
[IMP] core: remove odoo.tools.safe_eval._get_opcodes
It's not necessary anymore as all supported Python versions implement get_instructions, and inlining the usage of that is as readable as calling _get_opcodes. Also use the subset/superset predicate for validity testing instead of difference as it's a fair bit faster: ❯ python3.8 -mtimeit -s 's1 = set(range(10)); s2 = set(range(5))' 's2 - s1' 5000000 loops, best of 5: 88.3 nsec per loop ❯ python3.8 -mtimeit -s 's1 = set(range(10)); s2 = set(range(5, 15))' 's2 - s1' 2000000 loops, best of 5: 159 nsec per loop ❯ python3.8 -mtimeit -s 's1 = set(range(10)); s2 = set(range(5))' 's1 >= s2' 5000000 loops, best of 5: 71.1 nsec per loop ❯ python3.8 -mtimeit -s 's1 = set(range(10)); s2 = set(range(5, 15))' 's1 >= s2' 5000000 loops, best of 5: 53.6 nsec per loop we're paying double in the failure case but that doesn't super duper matter because we're raising an exception and bailing out, the 24% gain on the happy path seems more relevant. closes odoo/odoo#48948 Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
Diffstat (limited to 'setup/package.dfsrc')
0 files changed, 0 insertions, 0 deletions