Construct InplaceOperationLongAdd_27

Performance Diagrams

Construct InplaceOperationLongAdd_27 00100000001000000020000000200000003000000030000000400000004000000050000000500000006000000060000000700000007000000080000000800000009000000090000000CPython 2.7Nuitka (master)Nuitka (develop)Nuitka (factory)9364522188.95192307692307257.0CPython 2.720200835242.31730769230768450.80847736192294Nuitka (master)20200835395.6826923076923450.80847736192294Nuitka (develop)20200835549.0480769230769450.80847736192294Nuitka (factory)Construct InplaceOperationLongAdd_27Ticks

Source Code with Construct

module_value1 = 5L
module_value2 = 3L

def calledRepeatedly():
    # Force frame and eliminate forward propagation (currently).
    module_value1

    # Make sure we have a local variable x anyway
    s = 2L

    local_value = module_value1

    s += module_value1
# construct_begin
    s += 1000L
    s += 1000L
    s += 1000L
    s += 1000L
    s += 1000L
# construct_end
    s += module_value2

    return s

import itertools
for x in itertools.repeat(None, 50000):
    calledRepeatedly()

print("OK.")

Source Code without Construct

module_value1 = 5L
module_value2 = 3L

def calledRepeatedly():
    # Force frame and eliminate forward propagation (currently).
    module_value1

    # Make sure we have a local variable x anyway
    s = 2L

    local_value = module_value1

    s += module_value1
# construct_begin






    s += module_value2

    return s

import itertools
for x in itertools.repeat(None, 50000):
    calledRepeatedly()

print("OK.")

Context Diff of Source Code


Construct
Baseline
30 30
31     local_value = module_value1 31     local_value = module_value1
32 32
33     s += module_value1 33     s += module_value1
34 # construct_begin 34 # construct_begin
t 35     s += 1000L t 35  
36     s += 1000L 36  
37     s += 1000L 37  
38     s += 1000L 38  
39     s += 1000L 39  
40 # construct_end 40  
41     s += module_value2 41     s += module_value2
42 42
43     return s 43     return s
44 44
45 import itertools 45 import itertools