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