Fuzion Logo
fuzion-lang.dev — The Fuzion Language Portal
JavaScript seems to be disabled. Functionality is limited.

Benchmarks

Nightly Benchmark Runs

The purpose of these benchmarks is mostly to indicate possible "problems". Not so much measure (absolute) speed, memory usage or similar.

Take these benchmarks with a grain of salt. As of right now we do not do anything like warm up, mitigate caching effects or multiple runs to filter interference from other running processes.

benchmarks
 ├─ Jenkinsfile
 ├─ LICENSE
 ├─ Readme.md
 ├─ are_we_fast_yet
 │  ├─ are_we_fast_yet.fz
 │  ├─ bounce.fz
 │  ├─ bounce.log.txt
 │  ├─ list.fz
 │  ├─ list.log.txt
 │  ├─ mandelbrot.fz
 │  ├─ mandelbrot.log.txt
 │  ├─ permute.fz
 │  ├─ permute.log.txt
 │  ├─ queens.fz
 │  ├─ queens.log.txt
 │  ├─ run.sh
 │  ├─ sieve.fz
 │  ├─ sieve.log.txt
 │  ├─ storage.fz
 │  ├─ storage.log.txt
 │  ├─ towers.fz
 │  └─ towers.log.txt
 ├─ base_fum
 │  ├─ buildtime.txt
 │  ├─ perf_stat_general.txt
 │  └─ run.sh
 ├─ benchmarks_game
 │  ├─ binary_trees.fz
 │  ├─ binary_trees.log.txt
 │  ├─ fannkuch.fz
 │  ├─ fannkuch.log.txt
 │  ├─ fasta.fz
 │  ├─ fasta.log.txt
 │  ├─ nbody.fz
 │  ├─ nbody.log.txt
 │  ├─ nbody_marray.fz
 │  ├─ nbody_marray.log.txt
 │  └─ run.sh
 ├─ c_hello
 │  ├─ HelloWorld.c
 │  ├─ HelloWorld.fz
 │  ├─ hello_world.c
 │  ├─ hello_world.fz
 │  ├─ log.txt
 │  └─ run.sh
 ├─ c_man_or_boy
 │  ├─ log.txt
 │  ├─ man_or_boy.c
 │  ├─ man_or_boy.fz
 │  └─ run.sh
 ├─ countwords
 │  ├─ simple_ctrie.fz
 │  └─ simple_ordered_map.fz
 ├─ hello
 │  ├─ HelloWorld.fz
 │  ├─ hello_world.fz
 │  ├─ log.txt
 │  └─ run.sh
 ├─ man_or_boy
 │  ├─ log.txt
 │  ├─ man_or_boy.fz
 │  └─ run.sh
 ├─ man_or_boy_12.fz
 ├─ man_or_boy_14.fz
 ├─ perf_pure
 │  ├─ log.txt
 │  ├─ perf_pure.fz
 │  └─ run.sh
 ├─ print_w_effects.fz
 ├─ print_wo_effects.fz
 ├─ quicksort_array.fz
 ├─ quicksort_marray.fz
 ├─ random_w_effects.fz
 ├─ random_wo_effects.fz
 ├─ runall.log.txt
 ├─ runall.sh
 ├─ sort_partial.fz
 ├─ sort_presorted.fz
 ├─ sort_reversed.fz
 ├─ sum_1_100.fz
 ├─ syntax_check_all.sh
 ├─ tests
 │  ├─ abstractfeatures_negative:abstractfeatures_negative.fz.log.txt
 │  ├─ argumentcount_negative:argumentcount_negative.fz.log.txt
 │  ├─ assignment_negative:illegal_assignment.fz.log.txt
 │  ├─ assignments:assignments.fz.log.txt
 │  ├─ atomic:test_atomic.fz.log.txt
 │  ├─ basicIntegers:basicIntegers.fz.log.txt
 │  ├─ basicIntegers_negative:basicIntegers_negative.fz.log.txt
 │  ├─ call_with_ambiguous_result_type_negative:call.fz.log.txt
 │  ├─ calls_on_ref_and_val_target:calls.fz.log.txt
 │  ├─ choice:choicetest.fz.log.txt
 │  ├─ choice_mix:choice_mix.fz.log.txt
 │  ├─ choice_negative2:choice_negative.fz.log.txt
 │  ├─ choice_negative:choice_negative.fz.log.txt
 │  ├─ compile_time_constants:compile_time_constants.fz.log.txt
 │  ├─ concur_simple:concur_simple.fz.log.txt
 │  ├─ constructor_with_return_type:constructor_with_return_type.fz.log.txt
 │  ├─ contracts_negative:SquareRoot.fz.log.txt
 │  ├─ covariance:test_covariance.fz.log.txt
 │  ├─ ctrie:ctrie_test.fz.log.txt
 │  ├─ ctrie_threads:ctrie_threads.fz.log.txt
 │  ├─ dot_type_call_ambiguity:dot_type_call_ambiguity.fz.log.txt
 │  ├─ dot_type_call_on_type_parameter:dot_type_call_on_type_parameter.fz.log.txt
 │  ├─ doubledeclaration_negative:doubledeclaration2.fz.log.txt
 │  ├─ doubledeclaration_negative:doubledeclaration_negative.fz.log.txt
 │  ├─ envir_vars:envir_vars.fz.log.txt
 │  ├─ equals:test_equals.fz.log.txt
 │  ├─ equals_negative:equals_test_negative.fz.log.txt
 │  ├─ fileio:fileiotests.fz.log.txt
 │  ├─ floating_point_numbers:floating_point_numbers.fz.log.txt
 │  ├─ forwardref_negative:forwardref_negative.fz.log.txt
 │  ├─ free_types:test_free_types.fz.log.txt
 │  ├─ free_types_negative:test_free_types_negative.fz.log.txt
 │  ├─ functions:functions.fz.log.txt
 │  ├─ fz_cmd:fz_cmd.fz.log.txt
 │  ├─ generics:genericstest.fz.log.txt
 │  ├─ generics_negative:generics_negative.fz.log.txt
 │  ├─ generics_negative:qwerty.fz.log.txt
 │  ├─ hash_map:test_hash_map.fz.log.txt
 │  ├─ hello:HelloWorld.fz.log.txt
 │  ├─ if_negative:iftest_negative.fz.log.txt
 │  ├─ indentation:indentation.fz.log.txt
 │  ├─ indentation_negative:indentation_negative.fz.log.txt
 │  ├─ inheritance:inheritance.fz.log.txt
 │  ├─ inheritance_cyclic_negative:inheritance_cyclic_negative.fz.log.txt
 │  ├─ inheritance_for_value_types:inheritance_for_value_types.fz.log.txt
 │  ├─ inheritance_negative2:inheritance_negative2.fz.log.txt
 │  ├─ inheritance_negative:inheritance_negative.fz.log.txt
 │  ├─ int:int_test.fz.log.txt
 │  ├─ interval:test_interval.fz.log.txt
 │  ├─ issue2368:issue2368.fz.log.txt
 │  ├─ javaBase:javaHello.fz.log.txt
 │  ├─ lazy:ex_lazy.fz.log.txt
 │  ├─ lib_fileio_mmap:mmap_test.fz.log.txt
 │  ├─ lib_string:stringtest.fz.log.txt
 │  ├─ listFold:listFoldTest.fz.log.txt
 │  ├─ lists:testLists.fz.log.txt
 │  ├─ local_mutate:test_local_mutate.fz.log.txt
 │  ├─ lock_free_stack:test.fz.log.txt
 │  ├─ loop:looptest.fz.log.txt
 │  ├─ loop_negative:looptest_negative.fz.log.txt
 │  ├─ mix_inheritance_and_outer:mix_inheritance_and_outer.fz.log.txt
 │  ├─ modules:src:String:bla.fz.log.txt
 │  ├─ modules:src:test_modules.fz.log.txt
 │  ├─ modules:src_a:a.fz.log.txt
 │  ├─ modules:src_a:a:y.fz.log.txt
 │  ├─ modules:src_b:a:z.fz.log.txt
 │  ├─ modules:src_x:x.fz.log.txt
 │  ├─ modules:src_y:x:y.fz.log.txt
 │  ├─ mutable_linked_list:test_mutable_linked_list.fz.log.txt
 │  ├─ nested_choice:nested_choice.fz.log.txt
 │  ├─ nested_choice_negative:nested_choice_negative.fz.log.txt
 │  ├─ nested_lazy:ex_nested_lazy.fz.log.txt
 │  ├─ nested_options:ex_nested_options.fz.log.txt
 │  ├─ onesCount:testOnesCount.fz.log.txt
 │  ├─ outerNormalization:outerNormalization.fz.log.txt
 │  ├─ overloading_negative:overloading_negative.fz.log.txt
 │  ├─ pair:test_pair.fz.log.txt
 │  ├─ partial_application:partial_application.fz.log.txt
 │  ├─ partial_application_negative:partial_application_negative.fz.log.txt
 │  ├─ process:test_process.fz.log.txt
 │  ├─ qualified_declaration:qualified_declaration.fz.log.txt
 │  ├─ redef_args:redef_args.fz.log.txt
 │  ├─ redef_with_type_parameters:redef_test.fz.log.txt
 │  ├─ reg_issue1013_parentheses_ignored_in_operator_calls:issue1013.fz.log.txt
 │  ├─ reg_issue1051:test_issue1051.fz.log.txt
 │  ├─ reg_issue1054_incompatible_contraint_generics:issue1054.fz.log.txt
 │  ├─ reg_issue1069:reg_issue1069.fz.log.txt
 │  ├─ reg_issue1109:src:a.fz.log.txt
 │  ├─ reg_issue1158_type_of_type_parameters:test_type_of.fz.log.txt
 │  ├─ reg_issue1183_type_of_a_this:issue1183.fz.log.txt
 │  ├─ reg_issue118:issue118.fz.log.txt
 │  ├─ reg_issue119:issue119.fz.log.txt
 │  ├─ reg_issue1216_precondition_box_constructor:test_issue1216.fz.log.txt
 │  ├─ reg_issue1236:issue1236.fz.log.txt
 │  ├─ reg_issue1294:issue1294.fz.log.txt
 │  ├─ reg_issue1352:issue_1352.fz.log.txt
 │  ├─ reg_issue1358:issue1358.fz.log.txt
 │  ├─ reg_issue1380_execute_single_field_declaration:issue1380.fz.log.txt
 │  ├─ reg_issue1391:reg_issue1391.fz.log.txt
 │  ├─ reg_issue1477:issue_1477.fz.log.txt
 │  ├─ reg_issue1490:issue1490.fz.log.txt
 │  ├─ reg_issue1559_post_condition:test_issue1559.fz.log.txt
 │  ├─ reg_issue1561_incompatible_types:test_issue1561.fz.log.txt
 │  ├─ reg_issue1604_cmp_swap_choice:test_issue1604.fz.log.txt
 │  ├─ reg_issue1610_outer_escapes:test_issue1610.fz.log.txt
 │  ├─ reg_issue1628:reg_issue1628.fz.log.txt
 │  ├─ reg_issue1636:reg_issue1636.fz.log.txt
 │  ├─ reg_issue1665_nested_lazy:test_issue1665.fz.log.txt
 │  ├─ reg_issue169_backward_type_propagation_array:issue169.fz.log.txt
 │  ├─ reg_issue16_chainedBool:chainedBool.fz.log.txt
 │  ├─ reg_issue170_distinct_arg_names:issue170.fz.log.txt
 │  ├─ reg_issue1724:test_issue1724.fz.log.txt
 │  ├─ reg_issue1739_this_type_in_type_feature_choice:issue1739.fz.log.txt
 │  ├─ reg_issue175_int_crash:issue175.fz.log.txt
 │  ├─ reg_issue176_using_inner_field_of_boxed_outer:issue176.fz.log.txt
 │  ├─ reg_issue1835:issue_1835.fz.log.txt
 │  ├─ reg_issue1838:test_issue1838.fz.log.txt
 │  ├─ reg_issue1886_option_void:issue1886.fz.log.txt
 │  ├─ reg_issue1899_if_else_array:test_issue1899.fz.log.txt
 │  ├─ reg_issue1918:test_issue1918.fz.log.txt
 │  ├─ reg_issue1943_type_parameter_as_outer_type:issue1943.fz.log.txt
 │  ├─ reg_issue1945_ambiguity_for_lambda_result:issue1945.fz.log.txt
 │  ├─ reg_issue1945_ambiguity_for_lambda_result_neg:issue1945neg.fz.log.txt
 │  ├─ reg_issue19_redef_choice_result:testRedefine.fz.log.txt
 │  ├─ reg_issue2034:issue2034.fz.log.txt
 │  ├─ reg_issue2114:issue_2114.fz.log.txt
 │  ├─ reg_issue2182:issue_2182.fz.log.txt
 │  ├─ reg_issue2187:reg_issue2187.fz.log.txt
 │  ├─ reg_issue2203:issue_2203.fz.log.txt
 │  ├─ reg_issue2213:issue_2213.fz.log.txt
 │  ├─ reg_issue2214:issue_2214.fz.log.txt
 │  ├─ reg_issue2237:issue_2237.fz.log.txt
 │  ├─ reg_issue2237:mod:mod.fz.log.txt
 │  ├─ reg_issue2249:issue2249.fz.log.txt
 │  ├─ reg_issue224_closing_parentheses_of_formal_args_list_not_indented:issue224.fz.log.txt
 │  ├─ reg_issue2252:issue_2252.fz.log.txt
 │  ├─ reg_issue2272:issue2272.fz.log.txt
 │  ├─ reg_issue2273:reg_issue2273.fz.log.txt
 │  ├─ reg_issue2280:reg_issue2280.fz.log.txt
 │  ├─ reg_issue2304:reg_issue2304.fz.log.txt
 │  ├─ reg_issue2358:reg_issue2358.fz.log.txt
 │  ├─ reg_issue2376:reg_issue2376.fz.log.txt
 │  ├─ reg_issue238_array_index_out_of_bounds:issue238.fz.log.txt
 │  ├─ reg_issue2478:reg_issue2478.fz.log.txt
 │  ├─ reg_issue2486:reg_issue2486.fz.log.txt
 │  ├─ reg_issue2492:reg_issue2492.fz.log.txt
 │  ├─ reg_issue2518:reg_issue2518.fz.log.txt
 │  ├─ reg_issue2527:reg_issue2527.fz.log.txt
 │  ├─ reg_issue25_unbox_outerref:unboxOuterRef.fz.log.txt
 │  ├─ reg_issue263_anoynmous_inner_feature_as_arg:issue263.fz.log.txt
 │  ├─ reg_issue26_redefAsVoid:redefineAsVoid.fz.log.txt
 │  ├─ reg_issue270:issue270.fz.log.txt
 │  ├─ reg_issue27_callWithUninstantiatedTarget:callWithUninstantiatedTarget.fz.log.txt
 │  ├─ reg_issue292_inherited_open_generics:ex292.fz.log.txt
 │  ├─ reg_issue293_confusion_of_type_and_value_params:issue293.fz.log.txt
 │  ├─ reg_issue29_arrayOfUnitType:testUnitArray.fz.log.txt
 │  ├─ reg_issue309_check_constraints_of_types:issue309.fz.log.txt
 │  ├─ reg_issue350_x_ref_produces_strange_error_message:issue350.fz.log.txt
 │  ├─ reg_issue356_check_condition_failure_in_call_inferGenericsFromArgs:issue356.fz.log.txt
 │  ├─ reg_issue37_inhGenericOuter:inheritGenericOuter.fz.log.txt
 │  ├─ reg_issue440_incomplete_else_block_confusing_error_message:issue440.fz.log.txt
 │  ├─ reg_issue459_choice_elment_tagged_that_is_never_instantiated:issue459.fz.log.txt
 │  ├─ reg_issue536_if_statement_missing_default_else_branch:issue536.fz.log.txt
 │  ├─ reg_issue580_match_cases_involvin_generics:issue580.fz.log.txt
 │  ├─ reg_issue662_match_cases_missing:issue662.fz.log.txt
 │  ├─ reg_issue698_np_excep_in_choice_with_call_to_outer_ref:issue698.fz.log.txt
 │  ├─ reg_issue761_null_pointer_failed_type_inference:issue761.fz.log.txt
 │  ├─ reg_issue7_genericConstraint:checkGenericConstraint.fz.log.txt
 │  ├─ reg_issue874ff:issue874.fz.log.txt
 │  ├─ reg_issue8_optionFalse:bugOptionFalse.fz.log.txt
 │  ├─ reg_issue952:issue952.fz.log.txt
 │  ├─ reg_issue957_class_cast_exc:test_issue957.fz.log.txt
 │  ├─ reg_issue960_npe_resolve_syntactic_sugar2:test_issue960.fz.log.txt
 │  ├─ reg_issues455-456_dot_type:dot_type_test.fz.log.txt
 │  ├─ rosettacode_factors_of_an_integer:factors.fz.log.txt
 │  ├─ rosettacode_man_or_boy:man_or_boy.fz.log.txt
 │  ├─ rosettacode_primes:primes.fz.log.txt
 │  ├─ run.sh
 │  ├─ ryu:ryu_test.fz.log.txt
 │  ├─ sockets:sockets_test_client.fz.log.txt
 │  ├─ sockets:sockets_test_server.fz.log.txt
 │  ├─ stack:stack.fz.log.txt
 │  ├─ stdin:stdintest.fz.log.txt
 │  ├─ string_pad:string_pad.fz.log.txt
 │  ├─ strings:stringstest.fz.log.txt
 │  ├─ strings_multiline:multiline_strings_test.fz.log.txt
 │  ├─ strings_multiline_negative:strings_multiline_negative.fz.log.txt
 │  ├─ terminal:test_terminal.fz.log.txt
 │  ├─ ternary:test_ternary.fz.log.txt
 │  ├─ this_type:test_this_type.fz.log.txt
 │  ├─ this_type_negative:test_this_type_negative.fz.log.txt
 │  ├─ transducers:transducertest.fz.log.txt
 │  ├─ tuple:tupletest.fz.log.txt
 │  ├─ tuple_negative:tuple_negative.fz.log.txt
 │  ├─ type_feature:test_type_feature.fz.log.txt
 │  ├─ typecheck_negative:typecheck_negative.fz.log.txt
 │  ├─ typeinference:typeinference.fz.log.txt
 │  ├─ typeinference_for_formal_args:typeinference_for_formal_args.fz.log.txt
 │  ├─ typeinference_for_formal_args_negative:typeinference_for_args_negative.fz.log.txt
 │  ├─ typeinference_negative:typeinference_negative.fz.log.txt
 │  ├─ unary:ex_unary.fz.log.txt
 │  ├─ unicode:unicodetest.fz.log.txt
 │  ├─ unicode_15:unicode_15.fz.log.txt
 │  ├─ universe_dot_call:universe_dot_call.fz.log.txt
 │  ├─ valWithDynOuter:valWithDynOuter.fz.log.txt
 │  ├─ valWithLongLife:valWithLongLife.fz.log.txt
 │  ├─ visibility:visibility.fz.log.txt
 │  ├─ visibility_modules:main.fz.log.txt
 │  ├─ visibility_modules:mod:a.fz.log.txt
 │  ├─ visibility_modules:mod:b.fz.log.txt
 │  ├─ visibility_modules_negative:main.fz.log.txt
 │  ├─ visibility_modules_negative:mod:a.fz.log.txt
 │  ├─ visibility_modules_negative:mod:b.fz.log.txt
 │  └─ visibility_negative:visibility_negative.fz.log.txt
 ├─ type_check.sh
 └─ util.sh
last changed: 2025-09-05