Construct GeneratorExit

Performance Diagrams

Construct GeneratorExit 00100000001000000020000000200000003000000030000000400000004000000050000000500000006000000060000000CPython 3.12Nuitka (main)Nuitka (develop)Nuitka (factory)6178195588.95192307692307257.0CPython 3.1228905538242.31730769230768388.49905068123485Nuitka (main)23804768395.6826923076923408.90110400545575Nuitka (develop)22397888549.0480769230769414.528340830637Nuitka (factory)Construct GeneratorExitTicks Construct GeneratorExit 00100000001000000020000000200000003000000030000000400000004000000050000000500000006000000060000000700000007000000080000000800000009000000090000000100000000100000000110000000110000000120000000120000000130000000130000000CPython 3.11Nuitka (main)Nuitka (develop)Nuitka (factory)13787921688.11538461538461257.0CPython 3.1144099152240.03846153846155425.07824454568544Nuitka (main)45203810391.96153846153845423.0984103512521Nuitka (develop)45196146543.8846153846154423.11214623083305Nuitka (factory)Construct GeneratorExitTicks Construct GeneratorExit 0010000000100000002000000020000000300000003000000040000000400000005000000050000000600000006000000070000000700000008000000080000000CPython 3.10Nuitka (main)Nuitka (develop)Nuitka (factory)8312529488.95192307692307257.0CPython 3.1042354735242.31730769230768378.20296823574824Nuitka (main)43498952395.6826923076923374.8014329095879Nuitka (develop)43504773549.0480769230769374.7841282050314Nuitka (factory)Construct GeneratorExitTicks Construct GeneratorExit 001000000010000000200000002000000030000000300000004000000040000000500000005000000060000000600000007000000070000000CPython 3.8Nuitka (main)Nuitka (develop)Nuitka (factory)7731880288.95192307692307257.0CPython 3.843401629242.31730769230768365.4012560225848Nuitka (main)43401610395.6826923076923365.40131674768895Nuitka (develop)43398994549.0480769230769365.4096776357192Nuitka (factory)Construct GeneratorExitTicks Construct GeneratorExit 002000000020000000400000004000000060000000600000008000000080000000100000000100000000120000000120000000140000000140000000160000000160000000180000000180000000200000000200000000220000000220000000240000000240000000260000000260000000CPython 2.7Nuitka (main)Nuitka (develop)Nuitka (factory)27001611288.11538461538461257.0CPython 2.7115652091240.03846153846155398.2720305379122Nuitka (main)116452029391.96153846153845397.5399372377225Nuitka (develop)116452021543.8846153846154397.53994455922293Nuitka (factory)Construct GeneratorExitTicks

Source Code with Construct

    exc = GeneratorExit

    try:
        # construct_begin
        throw(exc)
        # construct_alternative


    except exc:
        pass

    return throw, exc


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

print("OK.")

#     Python test originally created or extracted from other peoples work. The
#     parts from me are licensed as below. It is at least Free Software where
#     it's copied from other people. In these cases, that will normally be
#     indicated.
#
#     Licensed under the Apache License, Version 2.0 (the "License");
#     you may not use this file except in compliance with the License.
#     You may obtain a copy of the License at
#
#         http://www.apache.org/licenses/LICENSE-2.0
#
#     Unless required by applicable law or agreed to in writing, software
#     distributed under the License is distributed on an "AS IS" BASIS,
#     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#     See the License for the specific language governing permissions and
#     limitations under the License.

Source Code without Construct

    exc = GeneratorExit

    try:
        # construct_begin

        # construct_alternative
        pass
        # construct_end
    except exc:
        pass

    return throw, exc


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

print("OK.")

#     Python test originally created or extracted from other peoples work. The
#     parts from me are licensed as below. It is at least Free Software where
#     it's copied from other people. In these cases, that will normally be
#     indicated.
#
#     Licensed under the Apache License, Version 2.0 (the "License");
#     you may not use this file except in compliance with the License.
#     You may obtain a copy of the License at
#
#         http://www.apache.org/licenses/LICENSE-2.0
#
#     Unless required by applicable law or agreed to in writing, software
#     distributed under the License is distributed on an "AS IS" BASIS,
#     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#     See the License for the specific language governing permissions and
#     limitations under the License.