Construct GeneratorExit

Performance Diagrams

Construct GeneratorExit 002000000020000000400000004000000060000000600000008000000080000000100000000100000000120000000120000000140000000140000000160000000160000000CPython 3.12Nuitka (main)Nuitka (develop)Nuitka (factory)17042983688.11538461538461257.0CPython 3.1224666171240.03846153846155468.3505767817736Nuitka (main)24674340391.96153846153845468.33873210935997Nuitka (develop)24674340543.8846153846154468.33873210935997Nuitka (factory)Construct GeneratorExitTicks Construct GeneratorExit 00100000001000000020000000200000003000000030000000400000004000000050000000500000006000000060000000700000007000000080000000800000009000000090000000100000000100000000110000000110000000120000000120000000130000000130000000140000000140000000CPython 3.11Nuitka (main)Nuitka (develop)Nuitka (factory)14227942788.11538461538461257.0CPython 3.1147141796240.03846153846155422.23803034406046Nuitka (main)47156042391.96153846153845422.2132874431123Nuitka (develop)47156042543.8846153846154422.2132874431123Nuitka (factory)Construct GeneratorExitTicks Construct GeneratorExit 0010000000100000002000000020000000300000003000000040000000400000005000000050000000600000006000000070000000700000008000000080000000CPython 3.10Nuitka (main)Nuitka (develop)Nuitka (factory)8977682488.95192307692307257.0CPython 3.1045003514242.31730769230768380.2408680569258Nuitka (main)45004772395.6826923076923380.23740534639546Nuitka (develop)45004772549.0480769230769380.23740534639546Nuitka (factory)Construct GeneratorExitTicks Construct GeneratorExit 002000000020000000400000004000000060000000600000008000000080000000100000000100000000120000000120000000140000000140000000160000000160000000180000000180000000200000000200000000220000000220000000240000000240000000260000000260000000CPython 2.7Nuitka (main)Nuitka (develop)Nuitka (factory)27831635888.11538461538461257.0CPython 2.7122251588240.03846153846155395.5689506021114Nuitka (main)122251597391.96153846153845395.5689426110667Nuitka (develop)122251597543.8846153846154395.5689426110667Nuitka (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.