Full Code of gunnarmorling/1brc for AI

main db064194be37 cached
486 files
3.8 MB
1.0M tokens
3311 symbols
1 requests
Download .txt
Showing preview only (4,061K chars total). Download the full file or copy to clipboard to get everything.
Repository: gunnarmorling/1brc
Branch: main
Commit: db064194be37
Files: 486
Total size: 3.8 MB

Directory structure:
gitextract_ytom6d3p/

├── .gitattributes
├── .github/
│   ├── pull_request_template.md
│   └── workflows/
│       └── maven.yml
├── .gitignore
├── .mvn/
│   └── wrapper/
│       ├── maven-wrapper.jar
│       └── maven-wrapper.properties
├── .sdkmanrc
├── ENVIRONMENT.md
├── LICENSE.txt
├── README.md
├── calculate_average_0xshivamagarwal.sh
├── calculate_average_3j5a.sh
├── calculate_average_AbstractKamen.sh
├── calculate_average_AlexanderYastrebov.sh
├── calculate_average_C5H12O5.sh
├── calculate_average_ChrisBellew.sh
├── calculate_average_EduardoSaverin.sh
├── calculate_average_JaimePolidura.sh
├── calculate_average_JamalMulla.sh
├── calculate_average_JesseVanRooy.sh
├── calculate_average_Judekeyser.sh
├── calculate_average_JurenIvan.sh
├── calculate_average_Kidlike.sh
├── calculate_average_MahmoudFawzyKhalil.sh
├── calculate_average_MeanderingProgrammer.sh
├── calculate_average_PanagiotisDrakatos.sh
├── calculate_average_PawelAdamski.sh
├── calculate_average_SamuelYvon.sh
├── calculate_average_Smoofie.sh
├── calculate_average_Ujjwalbharti.sh
├── calculate_average_YannMoisan.sh
├── calculate_average_abeobk.sh
├── calculate_average_abfrmblr.sh
├── calculate_average_adriacabeza.sh
├── calculate_average_agoncal.sh
├── calculate_average_ags313.sh
├── calculate_average_albertoventurini.sh
├── calculate_average_alesj.sh
├── calculate_average_algirdasrascius.sh
├── calculate_average_anandmattikopp.sh
├── calculate_average_anestoruk.sh
├── calculate_average_anitasv.sh
├── calculate_average_arjenvaneerde.sh
├── calculate_average_arjenw.sh
├── calculate_average_armandino.sh
├── calculate_average_artpar.sh
├── calculate_average_artsiomkorzun.sh
├── calculate_average_as-com.sh
├── calculate_average_baseline.sh
├── calculate_average_baseline_original_rounding.sh
├── calculate_average_berry120.sh
├── calculate_average_bjhara.sh
├── calculate_average_breejesh.sh
├── calculate_average_bytesfellow.sh
├── calculate_average_cb0s.sh
├── calculate_average_charlibot.sh
├── calculate_average_cliffclick.sh
├── calculate_average_coolmineman.sh
├── calculate_average_couragelee.sh
├── calculate_average_criccomini.sh
├── calculate_average_davecom.sh
├── calculate_average_davery22.sh
├── calculate_average_ddimtirov.sh
├── calculate_average_deemkeen.sh
├── calculate_average_dkarampi.sh
├── calculate_average_dmitry-midokura.sh
├── calculate_average_dpsoft.sh
├── calculate_average_dqhieuu.sh
├── calculate_average_ebarlas.sh
├── calculate_average_elh.sh
├── calculate_average_entangled90.sh
├── calculate_average_eriklumme.sh
├── calculate_average_faridtmammadov.sh
├── calculate_average_fatroom.sh
├── calculate_average_felix19350.sh
├── calculate_average_filiphr.sh
├── calculate_average_flippingbits.sh
├── calculate_average_fragmede.sh
├── calculate_average_gabrielfoo.sh
├── calculate_average_gabrielreid.sh
├── calculate_average_gamlerhart.sh
├── calculate_average_gauravdeshmukh.sh
├── calculate_average_gigiblender.sh
├── calculate_average_giovannicuccu.sh
├── calculate_average_gnabyl.sh
├── calculate_average_gnmathur.sh
├── calculate_average_godofwharf.sh
├── calculate_average_gonix.sh
├── calculate_average_gonixunsafe.sh
├── calculate_average_hallvard.sh
├── calculate_average_hchiorean.sh
├── calculate_average_hundredwatt.sh
├── calculate_average_ianopolous.sh
├── calculate_average_ianopolousfast.sh
├── calculate_average_imrafaelmerino.sh
├── calculate_average_isolgpus.sh
├── calculate_average_itaske.sh
├── calculate_average_ivanklaric.sh
├── calculate_average_iziamos.sh
├── calculate_average_japplis.sh
├── calculate_average_jatingala.sh
├── calculate_average_javamak.sh
├── calculate_average_jbachorik.sh
├── calculate_average_jeevjyot.sh
├── calculate_average_jerrinot.sh
├── calculate_average_jgrateron.sh
├── calculate_average_jincongho.sh
├── calculate_average_jonathan-aotearoa.sh
├── calculate_average_jotschi.sh
├── calculate_average_jparera.sh
├── calculate_average_justplainlaake.sh
├── calculate_average_karthikeyan97.sh
├── calculate_average_kevinmcmurtrie.sh
├── calculate_average_kgeri.sh
├── calculate_average_khmarbaise.sh
├── calculate_average_kuduwa-keshavram.sh
├── calculate_average_kumarsaurav123.sh
├── calculate_average_lawrey.sh
├── calculate_average_linl33.sh
├── calculate_average_maeda6uiui.sh
├── calculate_average_mahadev-k.sh
├── calculate_average_makohn.sh
├── calculate_average_manishgarg90.sh
├── calculate_average_martin2038.sh
├── calculate_average_mattiz.sh
├── calculate_average_maximz101.sh
├── calculate_average_melgenek.sh
├── calculate_average_merykitty.sh
├── calculate_average_merykittyunsafe.sh
├── calculate_average_moysesb.sh
├── calculate_average_mtopolnik.sh
├── calculate_average_mudit-saxena.sh
├── calculate_average_netrunnereve.sh
├── calculate_average_obourgain.sh
├── calculate_average_omarchenko4j.sh
├── calculate_average_padreati.sh
├── calculate_average_palmr.sh
├── calculate_average_parkertimmins.sh
├── calculate_average_pedestrianlove.sh
├── calculate_average_phd3.sh
├── calculate_average_plbpietrz.sh
├── calculate_average_plevart.sh
├── calculate_average_raipc.sh
├── calculate_average_rby.sh
├── calculate_average_rcasteltrione.sh
├── calculate_average_ricardopieper.sh
├── calculate_average_richardstartin.sh
├── calculate_average_roman-r-m.sh
├── calculate_average_royvanrijn.sh
├── calculate_average_rprabhu.sh
├── calculate_average_santanu.sh
├── calculate_average_seijikun.sh
├── calculate_average_semotpan.sh
├── calculate_average_serkan-ozal.sh
├── calculate_average_shipilev.sh
├── calculate_average_slovdahl.sh
├── calculate_average_spullara.sh
├── calculate_average_stephenvonworley.sh
├── calculate_average_sudhirtumati.sh
├── calculate_average_thanhtrinity.sh
├── calculate_average_thomaswue.sh
├── calculate_average_tivrfoa.sh
├── calculate_average_tkosachev.sh
├── calculate_average_tonivade.sh
├── calculate_average_truelive.sh
├── calculate_average_twobiers.sh
├── calculate_average_unbounded.sh
├── calculate_average_vaidhy.sh
├── calculate_average_vemana.sh
├── calculate_average_vemanaNonIdiomatic.sh
├── calculate_average_xpmatteo.sh
├── calculate_average_yavuztas.sh
├── calculate_average_yehwankim23.sh
├── calculate_average_yemreinci.sh
├── calculate_average_yonatang.sh
├── calculate_average_yourwass.sh
├── calculate_average_zerninv.sh
├── checkout.sh
├── cleanup.sh
├── create_fork.sh
├── create_measurements.sh
├── create_measurements2.sh
├── create_measurements3.sh
├── create_measurements_fast.sh
├── data/
│   └── weather_stations.csv
├── etc/
│   ├── eclipse-formatter-config.xml
│   └── license.txt
├── evaluate.sh
├── evaluate_10K.sh
├── github_users.txt
├── mvnw
├── mvnw.cmd
├── pom.xml
├── prepare_3j5a.sh
├── prepare_AlexanderYastrebov.sh
├── prepare_C5H12O5.sh
├── prepare_EduardoSaverin.sh
├── prepare_JaimePolidura.sh
├── prepare_JamalMulla.sh
├── prepare_Judekeyser.sh
├── prepare_Kidlike.sh
├── prepare_MeanderingProgrammer.sh
├── prepare_PanagiotisDrakatos.sh
├── prepare_PawelAdamski.sh
├── prepare_SamuelYvon.sh
├── prepare_Smoofie.sh
├── prepare_YannMoisan.sh
├── prepare_abeobk.sh
├── prepare_adriacabeza.sh
├── prepare_agoncal.sh
├── prepare_ags313.sh
├── prepare_anitasv.sh
├── prepare_armandino.sh
├── prepare_artsiomkorzun.sh
├── prepare_baseline.sh
├── prepare_breejesh.sh
├── prepare_cb0s.sh
├── prepare_charlibot.sh
├── prepare_chrisbellew.sh
├── prepare_coolmineman.sh
├── prepare_davecom.sh
├── prepare_ddimtirov.sh
├── prepare_dpsoft.sh
├── prepare_dqhieuu.sh
├── prepare_ebarlas.sh
├── prepare_elh.sh
├── prepare_eriklumme.sh
├── prepare_filiphr.sh
├── prepare_flippingbits.sh
├── prepare_gabrielfoo.sh
├── prepare_gnabyl.sh
├── prepare_godofwharf.sh
├── prepare_hundredwatt.sh
├── prepare_imrafaelmerino.sh
├── prepare_iziamos.sh
├── prepare_jatingala.sh
├── prepare_jbachorik.sh
├── prepare_jerrinot.sh
├── prepare_jonathan-aotearoa.sh
├── prepare_justplainlaake.sh
├── prepare_kuduwa-keshavram.sh
├── prepare_linl33.sh
├── prepare_mahadev-k.sh
├── prepare_manishgarg90.sh
├── prepare_martin2038.sh
├── prepare_maximz101.sh
├── prepare_melgenek.sh
├── prepare_mtopolnik.sh
├── prepare_phd3.sh
├── prepare_plevart.sh
├── prepare_rcasteltrione.sh
├── prepare_ricardopieper.sh
├── prepare_roman-r-m.sh
├── prepare_royvanrijn.sh
├── prepare_seijikun.sh
├── prepare_serkan-ozal.sh
├── prepare_slovdahl.sh
├── prepare_spullara.sh
├── prepare_stephenvonworley.sh
├── prepare_sudhirtumati.sh
├── prepare_thanhtrinity.sh
├── prepare_thomaswue.sh
├── prepare_tivrfoa.sh
├── prepare_tonivade.sh
├── prepare_truelive.sh
├── prepare_twobiers.sh
├── prepare_vaidhy.sh
├── prepare_vemana.sh
├── prepare_vemanaNonIdiomatic.sh
├── prepare_yavuztas.sh
├── prepare_yonatang.sh
├── prepare_zerninv.sh
├── process.sh
├── process_output.java
├── src/
│   ├── main/
│   │   ├── go/
│   │   │   ├── AlexanderYastrebov/
│   │   │   │   ├── Dockerfile
│   │   │   │   ├── README.md
│   │   │   │   ├── calc.go
│   │   │   │   ├── calc_test.go
│   │   │   │   └── go.mod
│   │   │   └── elh/
│   │   │       ├── Dockerfile
│   │   │       ├── go.mod
│   │   │       └── main.go
│   │   ├── java/
│   │   │   ├── dev/
│   │   │   │   └── morling/
│   │   │   │       └── onebrc/
│   │   │   │           ├── CalculateAverage_0xshivamagarwal.java
│   │   │   │           ├── CalculateAverage_3j5a.java
│   │   │   │           ├── CalculateAverage_AbstractKamen.java
│   │   │   │           ├── CalculateAverage_C5H12O5.java
│   │   │   │           ├── CalculateAverage_EduardoSaverin.java
│   │   │   │           ├── CalculateAverage_JaimePolidura.java
│   │   │   │           ├── CalculateAverage_JamalMulla.java
│   │   │   │           ├── CalculateAverage_JesseVanRooy.java
│   │   │   │           ├── CalculateAverage_Judekeyser.java
│   │   │   │           ├── CalculateAverage_JurenIvan.java
│   │   │   │           ├── CalculateAverage_Kidlike.java
│   │   │   │           ├── CalculateAverage_MahmoudFawzyKhalil.java
│   │   │   │           ├── CalculateAverage_MeanderingProgrammer.java
│   │   │   │           ├── CalculateAverage_PanagiotisDrakatos.java
│   │   │   │           ├── CalculateAverage_PawelAdamski.java
│   │   │   │           ├── CalculateAverage_SamuelYvon.java
│   │   │   │           ├── CalculateAverage_Smoofie.java
│   │   │   │           ├── CalculateAverage_Ujjwalbharti.java
│   │   │   │           ├── CalculateAverage_YannMoisan.java
│   │   │   │           ├── CalculateAverage_abeobk.java
│   │   │   │           ├── CalculateAverage_abfrmblr.java
│   │   │   │           ├── CalculateAverage_adriacabeza.java
│   │   │   │           ├── CalculateAverage_agoncal.java
│   │   │   │           ├── CalculateAverage_ags313.java
│   │   │   │           ├── CalculateAverage_albertoventurini.java
│   │   │   │           ├── CalculateAverage_alesj.java
│   │   │   │           ├── CalculateAverage_algirdasrascius.java
│   │   │   │           ├── CalculateAverage_anandmattikopp.java
│   │   │   │           ├── CalculateAverage_anestoruk.java
│   │   │   │           ├── CalculateAverage_anitasv.java
│   │   │   │           ├── CalculateAverage_arjenvaneerde.java
│   │   │   │           ├── CalculateAverage_arjenw.java
│   │   │   │           ├── CalculateAverage_armandino.java
│   │   │   │           ├── CalculateAverage_artpar.java
│   │   │   │           ├── CalculateAverage_artsiomkorzun.java
│   │   │   │           ├── CalculateAverage_as-com.java
│   │   │   │           ├── CalculateAverage_baseline.java
│   │   │   │           ├── CalculateAverage_baseline_original_rounding.java
│   │   │   │           ├── CalculateAverage_berry120.java
│   │   │   │           ├── CalculateAverage_bjhara.java
│   │   │   │           ├── CalculateAverage_breejesh.java
│   │   │   │           ├── CalculateAverage_bufistov.java
│   │   │   │           ├── CalculateAverage_bytesfellow.java
│   │   │   │           ├── CalculateAverage_cb0s.java
│   │   │   │           ├── CalculateAverage_charlibot.java
│   │   │   │           ├── CalculateAverage_chrisbellew.java
│   │   │   │           ├── CalculateAverage_cliffclick.java
│   │   │   │           ├── CalculateAverage_coolmineman.java
│   │   │   │           ├── CalculateAverage_couragelee.java
│   │   │   │           ├── CalculateAverage_criccomini.java
│   │   │   │           ├── CalculateAverage_davecom.java
│   │   │   │           ├── CalculateAverage_davery22.java
│   │   │   │           ├── CalculateAverage_ddimtirov.java
│   │   │   │           ├── CalculateAverage_deemkeen.java
│   │   │   │           ├── CalculateAverage_dkarampi.java
│   │   │   │           ├── CalculateAverage_dpsoft.java
│   │   │   │           ├── CalculateAverage_dqhieuu.java
│   │   │   │           ├── CalculateAverage_ebarlas.java
│   │   │   │           ├── CalculateAverage_entangled90.java
│   │   │   │           ├── CalculateAverage_eriklumme.java
│   │   │   │           ├── CalculateAverage_faridtmammadov.java
│   │   │   │           ├── CalculateAverage_fatroom.java
│   │   │   │           ├── CalculateAverage_felix19350.java
│   │   │   │           ├── CalculateAverage_filiphr.java
│   │   │   │           ├── CalculateAverage_flippingbits.java
│   │   │   │           ├── CalculateAverage_fragmede.java
│   │   │   │           ├── CalculateAverage_gabrielfoo.java
│   │   │   │           ├── CalculateAverage_gabrielreid.java
│   │   │   │           ├── CalculateAverage_gamlerhart.java
│   │   │   │           ├── CalculateAverage_gauravdeshmukh.java
│   │   │   │           ├── CalculateAverage_gigiblender.java
│   │   │   │           ├── CalculateAverage_giovannicuccu.java
│   │   │   │           ├── CalculateAverage_gnabyl.java
│   │   │   │           ├── CalculateAverage_gnmathur.java
│   │   │   │           ├── CalculateAverage_godofwharf.java
│   │   │   │           ├── CalculateAverage_gonix.java
│   │   │   │           ├── CalculateAverage_gonixunsafe.java
│   │   │   │           ├── CalculateAverage_hallvard.java
│   │   │   │           ├── CalculateAverage_hchiorean.java
│   │   │   │           ├── CalculateAverage_hundredwatt.java
│   │   │   │           ├── CalculateAverage_ianopolous.java
│   │   │   │           ├── CalculateAverage_ianopolousfast.java
│   │   │   │           ├── CalculateAverage_imrafaelmerino.java
│   │   │   │           ├── CalculateAverage_isolgpus.java
│   │   │   │           ├── CalculateAverage_itaske.java
│   │   │   │           ├── CalculateAverage_ivanklaric.java
│   │   │   │           ├── CalculateAverage_iziamos.java
│   │   │   │           ├── CalculateAverage_japplis.java
│   │   │   │           ├── CalculateAverage_jatingala.java
│   │   │   │           ├── CalculateAverage_javamak.java
│   │   │   │           ├── CalculateAverage_jbachorik.java
│   │   │   │           ├── CalculateAverage_jeevjyot.java
│   │   │   │           ├── CalculateAverage_jerrinot.java
│   │   │   │           ├── CalculateAverage_jgrateron.java
│   │   │   │           ├── CalculateAverage_jincongho.java
│   │   │   │           ├── CalculateAverage_jonathanaotearoa.java
│   │   │   │           ├── CalculateAverage_jotschi.java
│   │   │   │           ├── CalculateAverage_jparera.java
│   │   │   │           ├── CalculateAverage_justplainlaake.java
│   │   │   │           ├── CalculateAverage_karthikeyan97.java
│   │   │   │           ├── CalculateAverage_kevinmcmurtrie.java
│   │   │   │           ├── CalculateAverage_kgeri.java
│   │   │   │           ├── CalculateAverage_khmarbaise.java
│   │   │   │           ├── CalculateAverage_kuduwa_keshavram.java
│   │   │   │           ├── CalculateAverage_kumarsaurav123.java
│   │   │   │           ├── CalculateAverage_lawrey.java
│   │   │   │           ├── CalculateAverage_maeda6uiui.java
│   │   │   │           ├── CalculateAverage_mahadev_k.java
│   │   │   │           ├── CalculateAverage_makohn.java
│   │   │   │           ├── CalculateAverage_manishgarg90.java
│   │   │   │           ├── CalculateAverage_martin2038.java
│   │   │   │           ├── CalculateAverage_mattiz.java
│   │   │   │           ├── CalculateAverage_maximz101.java
│   │   │   │           ├── CalculateAverage_melgenek.java
│   │   │   │           ├── CalculateAverage_merykitty.java
│   │   │   │           ├── CalculateAverage_merykittyunsafe.java
│   │   │   │           ├── CalculateAverage_moysesb.java
│   │   │   │           ├── CalculateAverage_mtopolnik.java
│   │   │   │           ├── CalculateAverage_muditsaxena.java
│   │   │   │           ├── CalculateAverage_naive.java
│   │   │   │           ├── CalculateAverage_netrunnereve.java
│   │   │   │           ├── CalculateAverage_obourgain.java
│   │   │   │           ├── CalculateAverage_omarchenko4j.java
│   │   │   │           ├── CalculateAverage_padreati.java
│   │   │   │           ├── CalculateAverage_palmr.java
│   │   │   │           ├── CalculateAverage_parkertimmins.java
│   │   │   │           ├── CalculateAverage_pedestrianlove.java
│   │   │   │           ├── CalculateAverage_phd3.java
│   │   │   │           ├── CalculateAverage_plbpietrz.java
│   │   │   │           ├── CalculateAverage_plevart.java
│   │   │   │           ├── CalculateAverage_raipc.java
│   │   │   │           ├── CalculateAverage_rby.java
│   │   │   │           ├── CalculateAverage_rcasteltrione.java
│   │   │   │           ├── CalculateAverage_ricardopieper.java
│   │   │   │           ├── CalculateAverage_richardstartin.java
│   │   │   │           ├── CalculateAverage_roman_r_m.java
│   │   │   │           ├── CalculateAverage_royvanrijn.java
│   │   │   │           ├── CalculateAverage_rprabhu.java
│   │   │   │           ├── CalculateAverage_santanu.java
│   │   │   │           ├── CalculateAverage_seijikun.java
│   │   │   │           ├── CalculateAverage_semotpan.java
│   │   │   │           ├── CalculateAverage_serkan_ozal.java
│   │   │   │           ├── CalculateAverage_shipilev.java
│   │   │   │           ├── CalculateAverage_slovdahl.java
│   │   │   │           ├── CalculateAverage_spullara.java
│   │   │   │           ├── CalculateAverage_stephenvonworley.java
│   │   │   │           ├── CalculateAverage_sudhirtumati.java
│   │   │   │           ├── CalculateAverage_thanhtrinity.java
│   │   │   │           ├── CalculateAverage_thomaswue.java
│   │   │   │           ├── CalculateAverage_tivrfoa.java
│   │   │   │           ├── CalculateAverage_tkosachev.java
│   │   │   │           ├── CalculateAverage_tonivade.java
│   │   │   │           ├── CalculateAverage_truelive.java
│   │   │   │           ├── CalculateAverage_twobiers.java
│   │   │   │           ├── CalculateAverage_unbounded.java
│   │   │   │           ├── CalculateAverage_vaidhy.java
│   │   │   │           ├── CalculateAverage_vemana.java
│   │   │   │           ├── CalculateAverage_vemanaNonIdiomatic.java
│   │   │   │           ├── CalculateAverage_xpmatteo.java
│   │   │   │           ├── CalculateAverage_yavuztas.java
│   │   │   │           ├── CalculateAverage_yehwankim23.java
│   │   │   │           ├── CalculateAverage_yemreinci.java
│   │   │   │           ├── CalculateAverage_yonatang.java
│   │   │   │           ├── CalculateAverage_yourwass.java
│   │   │   │           ├── CalculateAverage_zerninv.java
│   │   │   │           ├── CreateMeasurements.java
│   │   │   │           ├── CreateMeasurements2.java
│   │   │   │           ├── CreateMeasurements3.java
│   │   │   │           ├── CreateMeasurementsFast.java
│   │   │   │           └── PerfectHashSearch_hundredwatt.java
│   │   │   └── org/
│   │   │       └── rschwietzke/
│   │   │           ├── CheaperCharBuffer.java
│   │   │           └── FastRandom.java
│   │   ├── java-22/
│   │   │   └── dev/
│   │   │       └── morling/
│   │   │           └── onebrc/
│   │   │               └── CalculateAverage_linl33.java
│   │   ├── python/
│   │   │   └── create_measurements.py
│   │   └── resources/
│   │       └── .dontdelete
│   └── test/
│       └── resources/
│           ├── .dontdelete
│           └── samples/
│               ├── measurements-1.out
│               ├── measurements-1.txt
│               ├── measurements-10.out
│               ├── measurements-10.txt
│               ├── measurements-10000-unique-keys.out
│               ├── measurements-10000-unique-keys.txt
│               ├── measurements-2.out
│               ├── measurements-2.txt
│               ├── measurements-20.out
│               ├── measurements-20.txt
│               ├── measurements-3.out
│               ├── measurements-3.txt
│               ├── measurements-boundaries.out
│               ├── measurements-boundaries.txt
│               ├── measurements-complex-utf8.out
│               ├── measurements-complex-utf8.txt
│               ├── measurements-dot.out
│               ├── measurements-dot.txt
│               ├── measurements-rounding.out
│               ├── measurements-rounding.txt
│               ├── measurements-short.out
│               ├── measurements-short.txt
│               ├── measurements-shortest.out
│               └── measurements-shortest.txt
├── test.sh
├── test_all.sh
├── test_ci.sh
└── tocsv.sh

================================================
FILE CONTENTS
================================================

================================================
FILE: .gitattributes
================================================
*.java          text
*.md            text
*.yml           text
*.xml           text
*.gradle        text
*.properties    text
mvnw            text eol=lf
*.sh            text eol=lf
*.bat           text eol=crlf
*.cmd           text eol=crlf
*.jar           binary

src/test/resources/samples/*.txt text eol=lf
src/test/resources/samples/*.out text eol=lf


================================================
FILE: .github/pull_request_template.md
================================================
**NOTE:** The challenge has been closed for new submissions. No new pull requests for adding submissions are accepted at this time.
The final leaderboard has been published on Feb 4.

#### Check List:

- [ ] You have run `./mvnw verify` and the project builds successfully
- [ ] Tests pass (`./test.sh <username>` shows no differences between expected and actual outputs)
- [ ] All formatting changes by the build are committed
- [ ] Your launch script is named `calculate_average_<username>.sh` (make sure to match casing of your GH user name) and is executable
- [ ] Output matches that of `calculate_average_baseline.sh`
- [ ] For new entries, or after substantial changes: When implementing custom hash structures, please point to where you deal with hash collisions (line number)

* Execution time:
* Execution time of reference implementation:

<!--
Thanks for your submission. Please go through the checklist above before submitting your pull request.
Use [x] to mark that the item has been completed.

Due to the large number of entries created so far,
please submit only entries that are you are expecting to run in 10 seconds or less on the evaluation machine.

Please make sure that you have followed the defined rules (https://github.com/gunnarmorling/1brc?tab=readme-ov-file#rules-and-limits).
-->


================================================
FILE: .github/workflows/maven.yml
================================================
#
#  Copyright 2023 The original authors
#
#  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.
#

name: Build

on:
  # Enable manual re-run
  workflow_dispatch: { }
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - name: 'Check out repository'
        uses: actions/checkout@v2
        with:
          submodules: 'true'

      - name: Cache SDKMan
        id: cache-sdkman
        uses: actions/cache@v4
        with:
          path: ~/.sdkman
          key: ${{ runner.os }}-sdkman

      - name: 'Cache Maven packages'
        uses: actions/cache@v3
        with:
          path: ~/.m2
          key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
          restore-keys: ${{ runner.os }}-m2

      - name: 'Setup SDKMAN'
        uses: sdkman/sdkman-action@b1f9b696c79148b66d3d3a06f7ea801820318d0f
        id: sdkman

      - name: 'Build project'
        shell: bash
        run: |
          source "$HOME/.sdkman/bin/sdkman-init.sh"
          if [ -f ${{ format('src/main/java-22/dev/morling/onebrc/CalculateAverage_{0}.java', github.event.pull_request.user.login || '') }} ]; then
            sdk install java 22.ea.32-open || true
            sdk use java 22.ea.32-open
          fi
          ./mvnw --version
          ./mvnw -B clean verify -Pci

      - name: 'Test submission'
        shell: bash
        run: |
          ./test_ci.sh ${{ github.event.pull_request.user.login }}
        if: github.event_name == 'pull_request'


================================================
FILE: .gitignore
================================================
#Maven
target/
pom.xml.tag
pom.xml.releaseBackup
pom.xml.versionsBackup
release.properties

# Eclipse
.project
.classpath
.settings/
bin/

# IntelliJ
.idea
*.ipr
*.iml
*.iws

# NetBeans
nb-configuration.xml
nbactions.xml

# Visual Studio Code
.vscode
.factorypath

# OSX
.DS_Store

# Vim
*.swp
*.swo

# patch
*.orig
*.rej

# Local environment
.env

#JReleaser
out/

# 1BRC
/measurements*.txt
/*.out
out_expected.txt
/*-timing.json


================================================
FILE: .mvn/wrapper/maven-wrapper.properties
================================================
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you 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.
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.4/apache-maven-3.8.4-bin.zip
wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar


================================================
FILE: .sdkmanrc
================================================
# Enable auto-env through the sdkman_auto_env config
# Add key=value pairs of SDKs to use below
java=21.0.1-open


================================================
FILE: ENVIRONMENT.md
================================================
# Environment
This file just contains some intel about the environment in use and what has been done to get it into that state.

## Machine Type

* Hetzner AX161, Dedicated Hosted Hardware
* CPU: AMD EPYC 7502P 32 cores / 64 threads @ 2.5 GHz
* Memory: 128 GB ECC DDR4 RAM
* 2x SAMSUNG MZQL2960HCJR-00A07, 1 TB, Software RAID-1
* CentOS 9, Linux 5.14.0-378.el9.x86_64

## Configuration

* SMT off
* Turbo Boost Off
* Filesystem EXT4 

## Details

### CPU
``` 
$ cat /proc/cpuinfo 
processor	: 0
vendor_id	: AuthenticAMD
cpu family	: 23
model		: 49
model name	: AMD EPYC 7502P 32-Core Processor
stepping	: 0
microcode	: 0x8301055
cpu MHz		: 2500.000
cache size	: 512 KB
physical id	: 0
siblings	: 32
core id		: 0
cpu cores	: 32
apicid		: 0
initial apicid	: 0
fpu		: yes
fpu_exception	: yes
cpuid level	: 16
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibrs ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl umip rdpid overflow_recov succor smca sme sev sev_es
bugs		: sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass retbleed smt_rsb
bogomips	: 4990.70
TLB size	: 3072 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 43 bits physical, 48 bits virtual
power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]
... more for all other cores
```

## Setup

### Turn SMT off
Disable during boot via boot-param, able to switch it on later again, if needed.

Add `nosmt` to grub boot config in `/etc/default/grub` 

```
# Added nosmt to command line
GRUB_CMDLINE_LINUX="biosdevname=0 crashkernel=auto rd.auto=1 consoleblank=0 nosmt"
```

Update boot config:
``` 
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
```

### Turbo Off
Using the legacy `/etc/rc.local` concept to change things during boot:

```
# Turn SMT off via software as well, already got nosmt in grub
echo off >  /sys/devices/system/cpu/smt/control

# Turn off turbo boost
echo 0 |tee /sys/devices/system/cpu/cpufreq/boost
```
### Reduce Swapping
Reduce from default 60 to 10% memory pressure by adding `vm.swappiness = 10` to `/etc/sysctl.conf`.

## Verify
Check after boot if all settings have been applied. Can also be used to control these during runtime.

* SMT off: `cat /sys/devices/system/cpu/smt/active` must be 0
* SWAP: `cat /proc/sys/vm/swappiness` must be 10
* Turbo off: `cat /sys/devices/system/cpu/cpufreq/boost` must be 0






================================================
FILE: LICENSE.txt
================================================

                                 Apache License
                           Version 2.0, January 2004
                        http://www.apache.org/licenses/

   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

   1. Definitions.

      "License" shall mean the terms and conditions for use, reproduction,
      and distribution as defined by Sections 1 through 9 of this document.

      "Licensor" shall mean the copyright owner or entity authorized by
      the copyright owner that is granting the License.

      "Legal Entity" shall mean the union of the acting entity and all
      other entities that control, are controlled by, or are under common
      control with that entity. For the purposes of this definition,
      "control" means (i) the power, direct or indirect, to cause the
      direction or management of such entity, whether by contract or
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
      outstanding shares, or (iii) beneficial ownership of such entity.

      "You" (or "Your") shall mean an individual or Legal Entity
      exercising permissions granted by this License.

      "Source" form shall mean the preferred form for making modifications,
      including but not limited to software source code, documentation
      source, and configuration files.

      "Object" form shall mean any form resulting from mechanical
      transformation or translation of a Source form, including but
      not limited to compiled object code, generated documentation,
      and conversions to other media types.

      "Work" shall mean the work of authorship, whether in Source or
      Object form, made available under the License, as indicated by a
      copyright notice that is included in or attached to the work
      (an example is provided in the Appendix below).

      "Derivative Works" shall mean any work, whether in Source or Object
      form, that is based on (or derived from) the Work and for which the
      editorial revisions, annotations, elaborations, or other modifications
      represent, as a whole, an original work of authorship. For the purposes
      of this License, Derivative Works shall not include works that remain
      separable from, or merely link (or bind by name) to the interfaces of,
      the Work and Derivative Works thereof.

      "Contribution" shall mean any work of authorship, including
      the original version of the Work and any modifications or additions
      to that Work or Derivative Works thereof, that is intentionally
      submitted to Licensor for inclusion in the Work by the copyright owner
      or by an individual or Legal Entity authorized to submit on behalf of
      the copyright owner. For the purposes of this definition, "submitted"
      means any form of electronic, verbal, or written communication sent
      to the Licensor or its representatives, including but not limited to
      communication on electronic mailing lists, source code control systems,
      and issue tracking systems that are managed by, or on behalf of, the
      Licensor for the purpose of discussing and improving the Work, but
      excluding communication that is conspicuously marked or otherwise
      designated in writing by the copyright owner as "Not a Contribution."

      "Contributor" shall mean Licensor and any individual or Legal Entity
      on behalf of whom a Contribution has been received by Licensor and
      subsequently incorporated within the Work.

   2. Grant of Copyright License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      copyright license to reproduce, prepare Derivative Works of,
      publicly display, publicly perform, sublicense, and distribute the
      Work and such Derivative Works in Source or Object form.

   3. Grant of Patent License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      (except as stated in this section) patent license to make, have made,
      use, offer to sell, sell, import, and otherwise transfer the Work,
      where such license applies only to those patent claims licensable
      by such Contributor that are necessarily infringed by their
      Contribution(s) alone or by combination of their Contribution(s)
      with the Work to which such Contribution(s) was submitted. If You
      institute patent litigation against any entity (including a
      cross-claim or counterclaim in a lawsuit) alleging that the Work
      or a Contribution incorporated within the Work constitutes direct
      or contributory patent infringement, then any patent licenses
      granted to You under this License for that Work shall terminate
      as of the date such litigation is filed.

   4. Redistribution. You may reproduce and distribute copies of the
      Work or Derivative Works thereof in any medium, with or without
      modifications, and in Source or Object form, provided that You
      meet the following conditions:

      (a) You must give any other recipients of the Work or
          Derivative Works a copy of this License; and

      (b) You must cause any modified files to carry prominent notices
          stating that You changed the files; and

      (c) You must retain, in the Source form of any Derivative Works
          that You distribute, all copyright, patent, trademark, and
          attribution notices from the Source form of the Work,
          excluding those notices that do not pertain to any part of
          the Derivative Works; and

      (d) If the Work includes a "NOTICE" text file as part of its
          distribution, then any Derivative Works that You distribute must
          include a readable copy of the attribution notices contained
          within such NOTICE file, excluding those notices that do not
          pertain to any part of the Derivative Works, in at least one
          of the following places: within a NOTICE text file distributed
          as part of the Derivative Works; within the Source form or
          documentation, if provided along with the Derivative Works; or,
          within a display generated by the Derivative Works, if and
          wherever such third-party notices normally appear. The contents
          of the NOTICE file are for informational purposes only and
          do not modify the License. You may add Your own attribution
          notices within Derivative Works that You distribute, alongside
          or as an addendum to the NOTICE text from the Work, provided
          that such additional attribution notices cannot be construed
          as modifying the License.

      You may add Your own copyright statement to Your modifications and
      may provide additional or different license terms and conditions
      for use, reproduction, or distribution of Your modifications, or
      for any such Derivative Works as a whole, provided Your use,
      reproduction, and distribution of the Work otherwise complies with
      the conditions stated in this License.

   5. Submission of Contributions. Unless You explicitly state otherwise,
      any Contribution intentionally submitted for inclusion in the Work
      by You to the Licensor shall be under the terms and conditions of
      this License, without any additional terms or conditions.
      Notwithstanding the above, nothing herein shall supersede or modify
      the terms of any separate license agreement you may have executed
      with Licensor regarding such Contributions.

   6. Trademarks. This License does not grant permission to use the trade
      names, trademarks, service marks, or product names of the Licensor,
      except as required for reasonable and customary use in describing the
      origin of the Work and reproducing the content of the NOTICE file.

   7. Disclaimer of Warranty. Unless required by applicable law or
      agreed to in writing, Licensor provides the Work (and each
      Contributor provides its Contributions) on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
      implied, including, without limitation, any warranties or conditions
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
      PARTICULAR PURPOSE. You are solely responsible for determining the
      appropriateness of using or redistributing the Work and assume any
      risks associated with Your exercise of permissions under this License.

   8. Limitation of Liability. In no event and under no legal theory,
      whether in tort (including negligence), contract, or otherwise,
      unless required by applicable law (such as deliberate and grossly
      negligent acts) or agreed to in writing, shall any Contributor be
      liable to You for damages, including any direct, indirect, special,
      incidental, or consequential damages of any character arising as a
      result of this License or out of the use or inability to use the
      Work (including but not limited to damages for loss of goodwill,
      work stoppage, computer failure or malfunction, or any and all
      other commercial damages or losses), even if such Contributor
      has been advised of the possibility of such damages.

   9. Accepting Warranty or Additional Liability. While redistributing
      the Work or Derivative Works thereof, You may choose to offer,
      and charge a fee for, acceptance of support, warranty, indemnity,
      or other liability obligations and/or rights consistent with this
      License. However, in accepting such obligations, You may act only
      on Your own behalf and on Your sole responsibility, not on behalf
      of any other Contributor, and only if You agree to indemnify,
      defend, and hold each Contributor harmless for any liability
      incurred by, or claims asserted against, such Contributor by reason
      of your accepting any such warranty or additional liability.

   END OF TERMS AND CONDITIONS

   APPENDIX: How to apply the Apache License to your work.

      To apply the Apache License to your work, attach the following
      boilerplate notice, with the fields enclosed by brackets "[]"
      replaced with your own identifying information. (Don't include
      the brackets!)  The text should be enclosed in the appropriate
      comment syntax for the file format. We also recommend that a
      file or class name and description of purpose be included on the
      same "printed page" as the copyright notice for easier
      identification within third-party archives.

   Copyright [yyyy] [name of copyright owner]

   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.

================================================
FILE: README.md
================================================
# 1️⃣🐝🏎️ The One Billion Row Challenge

_Status Feb 4: The final leaderboards [have been published](https://www.morling.dev/blog/1brc-results-are-in/). Congrats to all the winners, and a big thank you to everyone participating in this challenge as well as to everyone helping to organize it!_

_Status Feb 3: All entries have been evaluated and I am in the process of finalizing the leaderboards._

_Status Feb 1: The challenge has been closed for new submissions. No new pull requests for adding submissions are accepted at this time.
Pending PRs will be evaluated over the next few days._

_Status Jan 31: The challenge will close today at midnight UTC._

_Status Jan 12: As there has been such a large number of entries to this challenge so far (100+), and this is becoming hard to manage, please only create new submissions if you expect them to run in 10 seconds or less on the evaluation machine._

_Status Jan 1: This challenge is [open for submissions](https://www.morling.dev/blog/one-billion-row-challenge/)!_

> **Sponsorship**
>
> A big thank you to my employer [Decodable](https://www.decodable.co/) for funding the evaluation environment and supporting this challenge!

The One Billion Row Challenge (1BRC) is a fun exploration of how far modern Java can be pushed for aggregating one billion rows from a text file.
Grab all your (virtual) threads, reach out to SIMD, optimize your GC, or pull any other trick, and create the fastest implementation for solving this task!

<img src="1brc.png" alt="1BRC" style="display: block; margin-left: auto; margin-right: auto; margin-bottom:1em; width: 50%;">

The text file contains temperature values for a range of weather stations.
Each row is one measurement in the format `<string: station name>;<double: measurement>`, with the measurement value having exactly one fractional digit.
The following shows ten rows as an example:

```
Hamburg;12.0
Bulawayo;8.9
Palembang;38.8
St. John's;15.2
Cracow;12.6
Bridgetown;26.9
Istanbul;6.2
Roseau;34.4
Conakry;31.2
Istanbul;23.0
```

The task is to write a Java program which reads the file, calculates the min, mean, and max temperature value per weather station, and emits the results on stdout like this
(i.e. sorted alphabetically by station name, and the result values per station in the format `<min>/<mean>/<max>`, rounded to one fractional digit):

```
{Abha=-23.0/18.0/59.2, Abidjan=-16.2/26.0/67.3, Abéché=-10.0/29.4/69.0, Accra=-10.1/26.4/66.4, Addis Ababa=-23.7/16.0/67.0, Adelaide=-27.8/17.3/58.5, ...}
```

Submit your implementation by Jan 31 2024 and become part of the leaderboard!

## Results

These are the results from running all entries into the challenge on eight cores of a [Hetzner AX161](https://www.hetzner.com/dedicated-rootserver/ax161) dedicated server (32 core AMD EPYC™ 7502P (Zen2), 128 GB RAM).

| # | Result (m:s.ms) | Implementation     | JDK | Submitter     | Notes     | Certificates |
|---|-----------------|--------------------|-----|---------------|-----------|--------------|
| 1 | 00:01.535 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_thomaswue.java)| 21.0.2-graal | [Thomas Wuerthinger](https://github.com/thomaswue), [Quan Anh Mai](https://github.com/merykitty), [Alfonso² Peterssen](https://github.com/mukel) | GraalVM native binary, uses Unsafe | [Certificate](http://gunnarmorling.github.io/1brc-certificates/thomaswue_merykitty_mukel.pdf) |
| 2 | 00:01.587 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_artsiomkorzun.java)| 21.0.2-graal | [Artsiom Korzun](https://github.com/artsiomkorzun) | GraalVM native binary, uses Unsafe | [Certificate](http://gunnarmorling.github.io/1brc-certificates/artsiomkorzun.pdf) |
| 3 | 00:01.608 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_jerrinot.java)| 21.0.2-graal | [Jaromir Hamala](https://github.com/jerrinot) | GraalVM native binary, uses Unsafe | [Certificate](http://gunnarmorling.github.io/1brc-certificates/jerrinot.pdf) |
|   | 00:01.880 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_serkan_ozal.java)| 21.0.1-open | [Serkan ÖZAL](https://github.com/serkan-ozal) | uses Unsafe | [Certificate](http://gunnarmorling.github.io/1brc-certificates/serkan_ozal.pdf) |
|   | 00:01.921 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_abeobk.java)| 21.0.2-graal | [Van Phu DO](https://github.com/abeobk) | GraalVM native binary, uses Unsafe | [Certificate](http://gunnarmorling.github.io/1brc-certificates/abeobk.pdf) |
|   | 00:02.018 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_stephenvonworley.java)| 21.0.2-graal | [Stephen Von Worley](https://github.com/stephenvonworley) | GraalVM native binary, uses Unsafe | [Certificate](http://gunnarmorling.github.io/1brc-certificates/stephenvonworley.pdf) |
|   | 00:02.157 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_royvanrijn.java)| 21.0.2-graal | [Roy van Rijn](https://github.com/royvanrijn) | GraalVM native binary, uses Unsafe | [Certificate](http://gunnarmorling.github.io/1brc-certificates/royvanrijn.pdf) |
|   | 00:02.319 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_yavuztas.java)| 21.0.2-graal | [Yavuz Tas](https://github.com/yavuztas) | GraalVM native binary, uses Unsafe | [Certificate](http://gunnarmorling.github.io/1brc-certificates/yavuztas.pdf) |
|   | 00:02.332 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_mtopolnik.java)| 21.0.2-graal | [Marko Topolnik](https://github.com/mtopolnik) | GraalVM native binary, uses Unsafe | [Certificate](http://gunnarmorling.github.io/1brc-certificates/mtopolnik.pdf) |
|   | 00:02.367 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_merykittyunsafe.java)| 21.0.1-open | [Quan Anh Mai](https://github.com/merykitty) | uses Unsafe | [Certificate](http://gunnarmorling.github.io/1brc-certificates/merykittyunsafe.pdf) |
|   | 00:02.507 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_gonixunsafe.java)| 21.0.1-open | [gonix](https://github.com/gonix) | uses Unsafe | [Certificate](http://gunnarmorling.github.io/1brc-certificates/gonixunsafe.pdf) |
|   | 00:02.557 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_yourwass.java)| 21.0.1-open | [yourwass](https://github.com/yourwass) | uses Unsafe | [Certificate](http://gunnarmorling.github.io/1brc-certificates/yourwass.pdf) |
|   | 00:02.820 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_linl33.java)| 22.ea.32-open | [Li Lin](https://github.com/linl33) | uses Unsafe | [Certificate](http://gunnarmorling.github.io/1brc-certificates/linl33.pdf) |
|   | 00:02.995 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_tivrfoa.java)| 21.0.2-graal | [tivrfoa](https://github.com/tivrfoa) | GraalVM native binary, uses Unsafe | [Certificate](http://gunnarmorling.github.io/1brc-certificates/tivrfoa.pdf) |
|   | 00:02.997 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_gonix.java)| 21.0.1-open | [gonix](https://github.com/gonix) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/gonix.pdf) |
|   | 00:03.095 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_JamalMulla.java)| 21.0.2-graal | [Jamal Mulla](https://github.com/JamalMulla) | GraalVM native binary, uses Unsafe | [Certificate](http://gunnarmorling.github.io/1brc-certificates/JamalMulla.pdf) |
|   | 00:03.210 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_merykitty.java)| 21.0.1-open | [Quan Anh Mai](https://github.com/merykitty) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/merykitty.pdf) |
|   | 00:03.298 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_vemanaNonIdiomatic.java)| 21.0.1-graal | [Subrahmanyam](https://github.com/vemana) | uses Unsafe | [Certificate](http://gunnarmorling.github.io/1brc-certificates/vemanaNonIdiomatic.pdf) |
|   | 00:03.431 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_roman_r_m.java)| 21.0.1-graal | [Roman Musin](https://github.com/roman-r-m) | GraalVM native binary, uses Unsafe | [Certificate](http://gunnarmorling.github.io/1brc-certificates/roman_r_m.pdf) |
|   | 00:03.469 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_ebarlas.java)| 21.0.2-graal | [Elliot Barlas](https://github.com/ebarlas) | GraalVM native binary, uses Unsafe | [Certificate](http://gunnarmorling.github.io/1brc-certificates/ebarlas.pdf) |
|   | 00:03.698 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_hundredwatt.java)| 21.0.1-graal | [Jason Nochlin](https://github.com/hundredwatt) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/hundredwatt.pdf) |
|   | 00:03.785 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_zerninv.java)| 21.0.2-graal | [zerninv](https://github.com/zerninv) | GraalVM native binary, uses Unsafe | [Certificate](http://gunnarmorling.github.io/1brc-certificates/zerninv.pdf) |
|   | 00:03.820 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_iziamos.java)| 21.0.2-graal | [John Ziamos](https://github.com/iziamos) | GraalVM native binary, uses Unsafe | [Certificate](http://gunnarmorling.github.io/1brc-certificates/iziamos.pdf) |
|   | 00:03.902 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_jparera.java)| 21.0.1-open | [Juan Parera](https://github.com/jparera) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/jparera.pdf) |
|   | 00:03.966 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_jincongho.java)| 21.0.1-open | [Jin Cong Ho](https://github.com/jincongho) | uses Unsafe | [Certificate](http://gunnarmorling.github.io/1brc-certificates/jincongho.pdf) |
|   | 00:03.991 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_vaidhy.java)| 21.0.1-graal | [Vaidhy Mayilrangam](https://github.com/vaidhy) | uses Unsafe | [Certificate](http://gunnarmorling.github.io/1brc-certificates/vaidhy.pdf) |
|   | 00:04.066 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_JesseVanRooy.java)| 21.0.1-open | [JesseVanRooy](https://github.com/JesseVanRooy) | uses Unsafe | [Certificate](http://gunnarmorling.github.io/1brc-certificates/JesseVanRooy.pdf) |
|   | 00:04.101 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_JaimePolidura.java)| 21.0.2-graal | [Jaime Polidura](https://github.com/JaimePolidura) | GraalVM native binary, uses Unsafe | [Certificate](http://gunnarmorling.github.io/1brc-certificates/JaimePolidura.pdf) |
|   | 00:04.209 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_giovannicuccu.java)| 21.0.1-open | [Giovanni Cuccu](https://github.com/giovannicuccu) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/giovannicuccu.pdf) |
|   | 00:04.474 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_gamlerhart.java)| 21.0.1-open | [Roman Stoffel](https://github.com/gamlerhart) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/gamlerhart.pdf) |
|   | 00:04.676 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_plevart.java)| 21.0.2-tem | [Peter Levart](https://github.com/plevart) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/plevart.pdf) |
|   | 00:04.684 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_gigiblender.java)| 21.0.1-open | [Florin Blanaru](https://github.com/gigiblender) | uses Unsafe | [Certificate](http://gunnarmorling.github.io/1brc-certificates/gigiblender.pdf) |
|   | 00:04.701 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_ianopolousfast.java)| 21.0.1-open | [Dr Ian Preston](https://github.com/ianopolousfast) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/ianopolousfast.pdf) |
|   | 00:04.741 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_cliffclick.java)| 21.0.1-open | [Cliff Click](https://github.com/cliffclick) | uses Unsafe | [Certificate](http://gunnarmorling.github.io/1brc-certificates/cliffclick.pdf) |
|   | 00:04.800 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_parkertimmins.java)| 21.0.1-open | [Parker Timmins](https://github.com/parkertimmins) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/parkertimmins.pdf) |
|   | 00:04.884 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_shipilev.java)| 21.0.1-open | [Aleksey Shipilëv](https://github.com/shipilev) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/shipilev.pdf) |
|   | 00:04.920 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_vemana.java)| 21.0.1-graal | [Subrahmanyam](https://github.com/vemana) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/vemana.pdf) |
|   | 00:05.077 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_jonathanaotearoa.java)| 21.0.2-graal | [Jonathan Wright](https://github.com/jonathan-aotearoa) | GraalVM native binary, uses Unsafe | [Certificate](http://gunnarmorling.github.io/1brc-certificates/jonathanaotearoa.pdf) |
|   | 00:05.142 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_arjenw.java)| 21.0.1-open | [Arjen Wisse](https://github.com/arjenw) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/arjenw.pdf) |
|   | 00:05.167 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_melgenek.java)| 21.0.2-open | [Yevhenii Melnyk](https://github.com/melgenek) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/melgenek.pdf) |
|   | 00:05.235 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_unbounded.java)| 21.0.1-open | [unbounded](https://github.com/unbounded) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/unbounded.pdf) |
|   | 00:05.336 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_EduardoSaverin.java)| java | [Sumit Chaudhary](https://github.com/EduardoSaverin) | uses Unsafe | [Certificate](http://gunnarmorling.github.io/1brc-certificates/EduardoSaverin.pdf) |
|   | 00:05.354 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_armandino.java)| 21.0.2-graal | [Arman Sharif](https://github.com/armandino) | GraalVM native binary, uses Unsafe | [Certificate](http://gunnarmorling.github.io/1brc-certificates/armandino.pdf) |
|   | 00:05.478 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_obourgain.java)| 21.0.1-open | [Olivier Bourgain](https://github.com/obourgain) | uses Unsafe | [Certificate](http://gunnarmorling.github.io/1brc-certificates/obourgain.pdf) |
|   | 00:05.559 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_PanagiotisDrakatos.java)| 21.0.1-graal | [Panagiotis Drakatos](https://github.com/PanagiotisDrakatos) | GraalVM native binary | [Certificate](http://gunnarmorling.github.io/1brc-certificates/PanagiotisDrakatos.pdf) |
|   | 00:05.887 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_charlibot.java)| 21.0.1-graal | [Charlie Evans](https://github.com/charlibot) | uses Unsafe | [Certificate](http://gunnarmorling.github.io/1brc-certificates/charlibot.pdf) |
|   | 00:05.979 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_spullara.java)| 21.0.1-graal | [Sam Pullara](https://github.com/spullara) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/spullara.pdf) |
|   | 00:06.166 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_isolgpus.java)| 21.0.1-open | [Jamie Stansfield](https://github.com/isolgpus) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/isolgpus.pdf) |
|   | 00:06.257 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_flippingbits.java)| 21.0.1-graal | [Stefan Sprenger](https://github.com/flippingbits) | uses Unsafe | [Certificate](http://gunnarmorling.github.io/1brc-certificates/flippingbits.pdf) |
|   | 00:06.392 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_dpsoft.java)| 21.0.2-graal | [Diego Parra](https://github.com/dpsoft) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/dpsoft.pdf) |
|   | 00:06.576 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_as-com.java)| 21.0.1-open | [Andrew Sun](https://github.com/as-com) | uses Unsafe | [Certificate](http://gunnarmorling.github.io/1brc-certificates/as-com.pdf) |
|   | 00:06.635 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_justplainlaake.java)| 21.0.1-graal | [Laake Scates-Gervasi](https://github.com/justplainlaake) | GraalVM native binary, uses Unsafe | [Certificate](http://gunnarmorling.github.io/1brc-certificates/justplainlaake.pdf) |
|   | 00:06.654 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_jbachorik.java)| 21.0.1-graal | [Jaroslav Bachorik](https://github.com/jbachorik) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/jbachorik.pdf) |
|   | 00:06.715 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_algirdasrascius.java)| 21.0.1-open | [Algirdas Raščius](https://github.com/algirdasrascius) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/algirdasrascius.pdf) |
|   | 00:06.884 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_rcasteltrione.java)| 21.0.1-graal | [rcasteltrione](https://github.com/rcasteltrione) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/rcasteltrione.pdf) |
|   | 00:06.982 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_ChrisBellew.java)| 21.0.1-open | [Chris Bellew](https://github.com/ChrisBellew) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/ChrisBellew.pdf) |
|   | 00:07.563 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_3j5a.java)| 21.0.1-graal | [3j5a](https://github.com/3j5a) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/3j5a.pdf) |
|   | 00:07.680 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_C5H12O5.java)| 21.0.1-graal | [Xylitol](https://github.com/C5H12O5) | uses Unsafe | [Certificate](http://gunnarmorling.github.io/1brc-certificates/C5H12O5.pdf) |
|   | 00:07.712 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_anitasv.java)| 21.0.1-graal | [Anita SV](https://github.com/anitasv) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/anitasv.pdf) |
|   | 00:07.730 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_jotschi.java)| 21.0.1-open | [Johannes Schüth](https://github.com/jotschi) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/jotschi.pdf) |
|   | 00:07.894 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_tonivade.java)| 21.0.2-tem | [Antonio Muñoz](https://github.com/tonivade) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/tonivade.pdf) |
|   | 00:07.925 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_ricardopieper.java)| 21.0.1-graal | [Ricardo Pieper](https://github.com/ricardopieper) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/ricardopieper.pdf) |
|   | 00:07.948 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_Smoofie.java)| java | [Smoofie](https://github.com/Smoofie) | uses Unsafe | [Certificate](http://gunnarmorling.github.io/1brc-certificates/Smoofie.pdf) |
|   | 00:08.157 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_JurenIvan.java)| 21.0.1-open | [JurenIvan](https://github.com/JurenIvan) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/JurenIvan.pdf) |
|   | 00:08.167 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_ddimtirov.java)| 21.0.1-tem | [Dimitar Dimitrov](https://github.com/ddimtirov) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/ddimtirov.pdf) |
|   | 00:08.214 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_deemkeen.java)| 21.0.1-open | [deemkeen](https://github.com/deemkeen) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/deemkeen.pdf) |
|   | 00:08.255 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_mattiz.java)| 21.0.1-open | [Mathias Bjerke](https://github.com/mattiz) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/mattiz.pdf) |
|   | 00:08.398 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_artpar.java)| 21.0.1-open | [Parth Mudgal](https://github.com/artpar) | uses Unsafe | [Certificate](http://gunnarmorling.github.io/1brc-certificates/artpar.pdf) |
|   | 00:08.489 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_gnabyl.java)| 21.0.1-graal | [Bang NGUYEN](https://github.com/gnabyl) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/gnabyl.pdf) |
|   | 00:08.517 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_ags313.java)| 21.0.1-graal | [ags](https://github.com/ags313) | uses Unsafe | [Certificate](http://gunnarmorling.github.io/1brc-certificates/ags313.pdf) |
|   | 00:08.557 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_adriacabeza.java)| 21.0.1-graal | [Adrià Cabeza](https://github.com/adriacabeza) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/adriacabeza.pdf) |
|   | 00:08.622 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_kuduwa_keshavram.java)| 21.0.1-graal | [Keshavram Kuduwa](https://github.com/kuduwa-keshavram) | uses Unsafe | [Certificate](http://gunnarmorling.github.io/1brc-certificates/kuduwa_keshavram.pdf) |
|   | 00:08.892 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_fatroom.java)| 21.0.1-open | [Roman Romanchuk](https://github.com/fatroom) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/fatroom.pdf) |
|   | 00:08.896 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_anestoruk.java)| 21.0.1-open | [Andrzej Nestoruk](https://github.com/anestoruk) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/anestoruk.pdf) |
|   | 00:09.020 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_yemreinci.java)| 21.0.1-open | [yemreinci](https://github.com/yemreinci) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/yemreinci.pdf) |
|   | 00:09.071 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_gabrielreid.java)| 21.0.1-open | [Gabriel Reid](https://github.com/gabrielreid) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/gabrielreid.pdf) |
|   | 00:09.352 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_filiphr.java)| 21.0.1-graal | [Filip Hrisafov](https://github.com/filiphr) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/filiphr.pdf) |
|   | 00:09.725 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_martin2038.java)| 21.0.2-graal | [Martin](https://github.com/martin2038) | GraalVM native binary | [Certificate](http://gunnarmorling.github.io/1brc-certificates/martin2038.pdf) |
|   | 00:09.867 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_ricardopieper.java)| 21.0.1-graal | [Ricardo Pieper](https://github.com/ricardopieper) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/ricardopieper.pdf) |
|   | 00:09.945 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_japplis.java)| 21.0.1-open | [Anthony Goubard](https://github.com/japplis) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/japplis.pdf) |
|   | 00:10.092 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_phd3.java)| 21.0.1-graal | [Pratham](https://github.com/phd3) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/phd3.pdf) |
|   | 00:10.127 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_artpar.java)| 21.0.1-open | [Parth Mudgal](https://github.com/artpar) | uses Unsafe | [Certificate](http://gunnarmorling.github.io/1brc-certificates/artpar.pdf) |
|   | 00:11.577 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_netrunnereve.java)| 21.0.1-open | [Eve](https://github.com/netrunnereve) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/netrunnereve.pdf) |
|   | 00:10.473 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_raipc.java)| 21.0.1-open | [Anton Rybochkin](https://github.com/raipc) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/raipc.pdf) |
|   | 00:11.119 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_lawrey.java)| 21.0.1-open | [lawrey](https://github.com/lawrey) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/lawrey.pdf) |
|   | 00:11.156 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_YannMoisan.java)| java | [Yann Moisan](https://github.com/YannMoisan) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/YannMoisan.pdf) |
|   | 00:11.167 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_palmr.java)| 21.0.1-open | [Nick Palmer](https://github.com/palmr) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/palmr.pdf) |
|   | 00:11.352 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_karthikeyan97.java)| 21.0.1-open | [karthikeyan97](https://github.com/karthikeyan97) | uses Unsafe | [Certificate](http://gunnarmorling.github.io/1brc-certificates/karthikeyan97.pdf) |
|   | 00:11.363 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_godofwharf.java)| 21.0.2-tem | [Guruprasad Sridharan](https://github.com/godofwharf) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/godofwharf.pdf) |
|   | 00:11.405 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_imrafaelmerino.java)| 21.0.1-graal | [Rafael Merino García](https://github.com/imrafaelmerino) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/imrafaelmerino.pdf) |
|   | 00:11.406 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_gabrielfoo.java)| 21.0.1-graal | [gabrielfoo](https://github.com/gabrielfoo) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/gabrielfoo.pdf) |
|   | 00:11.433 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_jatingala.java)| 21.0.1-graal | [Jatin Gala](https://github.com/jatingala) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/jatingala.pdf) |
|   | 00:11.505 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_bufistov.java)| 21.0.1-open | [Dmitry Bufistov](https://github.com/dmitry-midokura) | uses Unsafe | [Certificate](http://gunnarmorling.github.io/1brc-certificates/bufistov.pdf) |
|   | 00:11.744 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_slovdahl.java)| 21.0.2-tem | [Sebastian Lövdahl](https://github.com/slovdahl) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/slovdahl.pdf) |
|   | 00:11.805 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_coolmineman.java)| 21.0.1-graal | [Cool_Mineman](https://github.com/coolmineman) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/coolmineman.pdf) |
|   | 00:11.934 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_arjenvaneerde.java)| 21.0.1-open | [arjenvaneerde](https://github.com/arjenvaneerde) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/arjenvaneerde.pdf) |
|   | 00:12.220 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_richardstartin.java)| 21.0.1-open | [Richard Startin](https://github.com/richardstartin) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/richardstartin.pdf) |
|   | 00:12.495 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_SamuelYvon.java)| 21.0.1-graal | [Samuel Yvon](https://github.com/SamuelYvon) | GraalVM native binary | [Certificate](http://gunnarmorling.github.io/1brc-certificates/SamuelYvon.pdf) |
|   | 00:12.568 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_MeanderingProgrammer.java)| 21.0.1-graal | [Vlad](https://github.com/MeanderingProgrammer) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/MeanderingProgrammer.pdf) |
|   | 00:12.800 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_yonatang.java)| java | [Yonatan Graber](https://github.com/yonatang) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/yonatang.pdf) |
|   | 00:13.013 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_thanhtrinity.java)| 21.0.1-graal | [Thanh Duong](https://github.com/thanhtrinity) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/thanhtrinity.pdf) |
|   | 00:13.071 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_ianopolous.java)| 21.0.1-open | [Dr Ian Preston](https://github.com/ianopolous) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/ianopolous.pdf) |
|   | 00:13.729 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_cb0s.java)| java | [Cedric Boes](https://github.com/cb0s) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/cb0s.pdf) |
|   | 00:13.817 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_entangled90.java)| 21.0.1-open | [Carlo](https://github.com/entangled90) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/entangled90.pdf) |
|   | 00:14.502 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_eriklumme.java)| 21.0.1-graal | [eriklumme](https://github.com/eriklumme) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/eriklumme.pdf) |
|   | 00:14.772 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_kevinmcmurtrie.java)| 21.0.1-open | [Kevin McMurtrie](https://github.com/kevinmcmurtrie) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/kevinmcmurtrie.pdf) |
|   | 00:14.867 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_berry120.java)| 21.0.1-open | [Michael Berry](https://github.com/berry120) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/berry120.pdf) |
|   | 00:14.900 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_Judekeyser.java)| java | [Judekeyser](https://github.com/Judekeyser) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/Judekeyser.pdf) |
|   | 00:15.006 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_PawelAdamski.java)| java | [Paweł Adamski](https://github.com/PawelAdamski) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/PawelAdamski.pdf) |
|   | 00:15.662 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_semotpan.java)| 21.0.1-open | [Serghei Motpan](https://github.com/semotpan) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/semotpan.pdf) |
|   | 00:16.063 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_makohn.java)| 21.0.1-open | [Marek Kohn](https://github.com/makohn) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/makohn.pdf) |
|   | 00:16.457 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_bytesfellow.java)| 21.0.1-open | [Aleksei](https://github.com/bytesfellow) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/bytesfellow.pdf) |
|   | 00:16.953 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_gauravdeshmukh.java)| 21.0.1-open | [Gaurav Anantrao Deshmukh](https://github.com/gauravdeshmukh) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/gauravdeshmukh.pdf) |
|   | 00:17.046 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_dkarampi.java)| 21.0.1-open | [Dimitris Karampinas](https://github.com/dkarampi) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/dkarampi.pdf) |
|   | 00:17.086 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_breejesh.java)| java | [Breejesh Rathod](https://github.com/breejesh) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/breejesh.pdf) |
|   | 00:17.490 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_kgeri.java)| 21.0.1-open | [Gergely Kiss](https://github.com/kgeri) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/kgeri.pdf) |
|   | 00:17.255 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_tkosachev.java)| 21.0.1-open | [tkosachev](https://github.com/tkosachev) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/tkosachev.pdf) |
|   | 00:17.520 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_faridtmammadov.java)| 21.0.1-open | [Farid](https://github.com/faridtmammadov) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/faridtmammadov.pdf) |
|   | 00:17.717 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_omarchenko4j.java)| 21.0.1-open | [Oleh Marchenko](https://github.com/omarchenko4j) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/omarchenko4j.pdf) |
|   | 00:17.815 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_hallvard.java)| 21.0.1-open | [Hallvard Trætteberg](https://github.com/hallvard) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/hallvard.pdf) |
|   | 00:17.932 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_plbpietrz.java)| 21.0.1-open | [Bartłomiej Pietrzyk](https://github.com/plbpietrz) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/plbpietrz.pdf) |
|   | 00:18.251 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_seijikun.java)| 21.0.1-graal | [Markus Ebner](https://github.com/seijikun) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/seijikun.pdf) |
|   | 00:18.448 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_moysesb.java)| 21.0.1-open | [Moysés Borges Furtado](https://github.com/moysesb) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/moysesb.pdf) |
|   | 00:18.771 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_davecom.java)| 21.0.1-graal | [David Kopec](https://github.com/davecom) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/davecom.pdf) |
|   | 00:18.902 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_maximz101.java)| 21.0.1-graal | [Maxime](https://github.com/maximz101) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/maximz101.pdf) |
|   | 00:19.357 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_truelive.java)| 21.0.1-graalce | [Roman Schweitzer](https://github.com/truelive) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/truelive.pdf) |
|   | 00:20.691 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_Kidlike.java)| 21.0.1-graal | [Kidlike](https://github.com/Kidlike) | GraalVM native binary | [Certificate](http://gunnarmorling.github.io/1brc-certificates/Kidlike.pdf) |
|   | 00:21.989 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_couragelee.java)| 21.0.1-open | [couragelee](https://github.com/couragelee) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/couragelee.pdf) |
|   | 00:22.188 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_jgrateron.java)| 21.0.1-open | [Jairo Graterón](https://github.com/jgrateron) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/jgrateron.pdf) |
|   | 00:22.334 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_albertoventurini.java)| 21.0.1-open | [Alberto Venturini](https://github.com/albertoventurini) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/albertoventurini.pdf) |
|   | 00:22.457 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_rby.java)| 21.0.1-open | [Ramzi Ben Yahya](https://github.com/rby) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/rby.pdf) |
|   | 00:22.471 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_0xshivamagarwal.java)| 21.0.1-open | [Shivam Agarwal](https://github.com/0xshivamagarwal) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/0xshivamagarwal.pdf) |
|   | 00:24.986 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_kumarsaurav123.java)| 21.0.1-open | [kumarsaurav123](https://github.com/kumarsaurav123) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/kumarsaurav123.pdf) |
|   | 00:25.064 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_sudhirtumati.java)| 21.0.2-open | [Sudhir Tumati](https://github.com/sudhirtumati) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/sudhirtumati.pdf) |
|   | 00:26.500 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_felix19350.java)| 21.0.1-open | [Bruno Félix](https://github.com/felix19350) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/felix19350.pdf) |
|   | 00:28.381 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_bjhara.java)| 21.0.1-open | [Hampus](https://github.com/bjhara) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/bjhara.pdf) |
|   | 00:29.741 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_xpmatteo.java)| 21.0.1-open | [Matteo Vaccari](https://github.com/xpmatteo) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/xpmatteo.pdf) |
|   | 00:32.018 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_padreati.java)| 21.0.1-open | [Aurelian Tutuianu](https://github.com/padreati) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/padreati.pdf) |
|   | 00:34.388 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_twobiers.java)| 21.0.1-tem | [Tobi](https://github.com/twobiers) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/twobiers.pdf) |
|   | 00:35.875 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_MahmoudFawzyKhalil.java)| 21.0.1-open | [MahmoudFawzyKhalil](https://github.com/MahmoudFawzyKhalil) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/MahmoudFawzyKhalil.pdf) |
|   | 00:36.180 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_hchiorean.java)| 21.0.1-open | [Horia Chiorean](https://github.com/hchiorean) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/hchiorean.pdf) |
|   | 00:36.424 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_manishgarg90.java)| java | [Manish Garg](https://github.com/manishgarg90) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/manishgarg90.pdf) |
|   | 00:38.340 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_AbstractKamen.java)| 21.0.1-open | [AbstractKamen](https://github.com/AbstractKamen) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/AbstractKamen.pdf) |
|   | 00:41.982 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_criccomini.java)| 21.0.1-open | [Chris Riccomini](https://github.com/criccomini) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/criccomini.pdf) |
|   | 00:42.893 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_javamak.java)| 21.0.1-open | [javamak](https://github.com/javamak) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/javamak.pdf) |
|   | 00:46.597 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_maeda6uiui.java)| 21.0.1-open | [Maeda-san](https://github.com/maeda6uiui) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/maeda6uiui.pdf) |
|   | 00:58.811 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_Ujjwalbharti.java)| 21.0.1-open | [Ujjwal Bharti](https://github.com/Ujjwalbharti) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/Ujjwalbharti.pdf) |
|   | 01:05.094 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_muditsaxena.java)| 21.0.1-open | [Mudit Saxena](https://github.com/mudit-saxena) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/muditsaxena.pdf) |
|   | 01:05.979 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_dqhieuu.java)| 21.0.1-graal | [Hieu Dao Quang](https://github.com/dqhieuu) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/dqhieuu.pdf) |
|   | 01:06.790 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_khmarbaise.java)| 21.0.1-open | [Karl Heinz Marbaise](https://github.com/khmarbaise) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/khmarbaise.pdf) |
|   | 01:06.944 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_santanu.java)| 21.0.1-open | [santanu](https://github.com/santanu) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/santanu.pdf) |
|   | 01:07.014 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_pedestrianlove.java)| 21.0.1-open | [pedestrianlove](https://github.com/pedestrianlove) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/pedestrianlove.pdf) |
|   | 01:07.101 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_jeevjyot.java)| 21.0.1-open | [Jeevjyot Singh Chhabda](https://github.com/jeevjyot) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/jeevjyot.pdf) |
|   | 01:08.811 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_alesj.java)| 21.0.1-open | [Aleš Justin](https://github.com/alesj) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/alesj.pdf) |
|   | 01:08.908 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_itaske.java)| 21.0.1-open | [itaske](https://github.com/itaske) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/itaske.pdf) |
|   | 01:09.595 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_agoncal.java)| 21.0.1-tem | [Antonio Goncalves](https://github.com/agoncal) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/agoncal.pdf) |
|   | 01:09.882 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_rprabhu.java)| 21.0.1-open | [Prabhu R](https://github.com/rprabhu) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/rprabhu.pdf) |
|   | 01:14.815 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_anandmattikopp.java)| 21.0.1-open | [twohardthings](https://github.com/anandmattikopp) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/anandmattikopp.pdf) |
|   | 01:25.801 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_ivanklaric.java)| 21.0.1-open | [ivanklaric](https://github.com/ivanklaric) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/ivanklaric.pdf) |
|   | 01:33.594 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_gnmathur.java)| 21.0.1-open | [Gaurav Mathur](https://github.com/gnmathur) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/gnmathur.pdf) |
|   | 01:53.208 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_mahadev_k.java)| java | [Mahadev K](https://github.com/mahadev-k) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/mahadev_k.pdf) |
|   | 01:56.607 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_abfrmblr.java)| 21.0.1-open | [Abhilash](https://github.com/abfrmblr) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/abfrmblr.pdf) |
|   | 03:43.521 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_yehwankim23.java)| 21.0.1-open | [김예환 Ye-Hwan Kim (Sam)](https://github.com/yehwankim23) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/yehwankim23.pdf) |
|   | 03:59.760 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_fragmede.java)| 21.0.1-open | [Samson](https://github.com/fragmede) |  | [Certificate](http://gunnarmorling.github.io/1brc-certificates/fragmede.pdf) |
|   | ---       | | | | |
|   | 04:49.679 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_baseline.java) (Baseline) | 21.0.1-open | [Gunnar Morling](https://github.com/gunnarmorling) |  |

Note that I am not super-scientific in the way I'm running the contenders
(see [Evaluating Results](#evaluating-results) for the details).
This is not a high-fidelity micro-benchmark and there can be variations of up to +-3% between runs.
So don't be too hung up on the exact ordering of your entry compared to others in close proximity.
The primary purpose of this challenge is to learn something new, have fun along the way, and inspire others to do the same.
The leaderboard is only means to an end for achieving this goal.
If you observe drastically different results though, please open an issue.

See [Entering the Challenge](#entering-the-challenge) for instructions how to enter the challenge with your own implementation.
The [Show & Tell](https://github.com/gunnarmorling/1brc/discussions/categories/show-and-tell) features a wide range of 1BRC entries built using other languages, databases, and tools.

### Bonus Results

This section lists results from running the fastest N entries with different configurations.
As entries have been optimized towards the specific conditions of the original challenge description and set-up
(such as size of the key set),
challenge entries may perform very differently across different configurations.
These bonus results are provided here for informational purposes only.
For the 1BRC challenge, only the results in the previous section are of importance.

#### 32 Cores / 64 Threads

For officially evaluating entries into the challenge, each contender is run on eight cores of the evaluation machine (AMD EPYC™ 7502P).
Here are the results from running the top 50 entries (as of commit [e1fb378a](https://github.com/gunnarmorling/1brc/commit/e1fb378acce53d8c3035ee4813ae377aaf51aa3c), Feb 2) on all 32 cores / 64 threads (i.e. SMT is enabled) of the machine:

| # | Result (m:s.ms) | Implementation     | JDK | Submitter     | Notes     |
|---|-----------------|--------------------|-----|---------------|-----------|
| 1 | 00:00.323 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_jerrinot.java)| 21.0.2-graal | [Jaromir Hamala](https://github.com/jerrinot) | GraalVM native binary, uses Unsafe |
| 2 | 00:00.326 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_thomaswue.java)| 21.0.2-graal | [Thomas Wuerthinger](https://github.com/thomaswue), [Quan Anh Mai](https://github.com/merykitty), [Alfonso² Peterssen](https://github.com/mukel) | GraalVM native binary, uses Unsafe |
| 3 | 00:00.349 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_artsiomkorzun.java)| 21.0.2-graal | [Artsiom Korzun](https://github.com/artsiomkorzun) | GraalVM native binary, uses Unsafe |
|   | 00:00.351 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_abeobk.java)| 21.0.2-graal | [Van Phu DO](https://github.com/abeobk) | GraalVM native binary, uses Unsafe |
|   | 00:00.389 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_stephenvonworley.java)| 21.0.2-graal | [Stephen Von Worley](https://github.com/stephenvonworley) | GraalVM native binary, uses Unsafe |
|   | 00:00.408 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_yavuztas.java)| 21.0.2-graal | [Yavuz Tas](https://github.com/yavuztas) | GraalVM native binary, uses Unsafe |
|   | 00:00.415 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_royvanrijn.java)| 21.0.2-graal | [Roy van Rijn](https://github.com/royvanrijn) | GraalVM native binary, uses Unsafe |
|   | 00:00.499 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_mtopolnik.java)| 21.0.2-graal | [Marko Topolnik](https://github.com/mtopolnik) | GraalVM native binary, uses Unsafe |
|   | 00:00.602 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_roman_r_m.java)| 21.0.1-graal | [Roman Musin](https://github.com/roman-r-m) | GraalVM native binary, uses Unsafe |
|   | 00:00.623 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_gonixunsafe.java)| 21.0.1-open | [gonix](https://github.com/gonixunsafe) | uses Unsafe |
|   | 00:00.710 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_JamalMulla.java)| 21.0.2-graal | [Jamal Mulla](https://github.com/JamalMulla) | GraalVM native binary, uses Unsafe |
|   | 00:00.727 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_tivrfoa.java)| 21.0.2-graal | [tivrfoa](https://github.com/tivrfoa) | GraalVM native binary, uses Unsafe |
|   | 00:00.774 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_serkan_ozal.java)| 21.0.1-open | [Serkan ÖZAL](https://github.com/serkan-ozal) | uses Unsafe |
|   | 00:00.788 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_ebarlas.java)| 21.0.2-graal | [Elliot Barlas](https://github.com/ebarlas) | GraalVM native binary, uses Unsafe |
|   | 00:00.832 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_zerninv.java)| 21.0.2-graal | [zerninv](https://github.com/zerninv) | GraalVM native binary, uses Unsafe |
|   | 00:00.840 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_gonix.java)| 21.0.1-open | [gonix](https://github.com/gonix) |  |
|   | 00:00.857 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_JaimePolidura.java)| 21.0.2-graal | [Jaime Polidura](https://github.com/JaimePolidura) | GraalVM native binary, uses Unsafe |
|   | 00:00.880 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_iziamos.java)| 21.0.2-graal | [John Ziamos](https://github.com/iziamos) | GraalVM native binary, uses Unsafe |
|   | 00:00.939 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_shipilev.java)| 21.0.1-open | [Aleksey Shipilëv](https://github.com/shipilev) |  |
|   | 00:01.026 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_JesseVanRooy.java)| 21.0.1-open | [JesseVanRooy](https://github.com/JesseVanRooy) | uses Unsafe |
|   | 00:01.118 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_jonathanaotearoa.java)| 21.0.2-graal | [Jonathan Wright](https://github.com/jonathan-aotearoa) | GraalVM native binary |
|   | 00:01.140 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_armandino.java)| 21.0.2-graal | [Arman Sharif](https://github.com/armandino) | GraalVM native binary, uses Unsafe |
|   | 00:01.143 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_cliffclick.java)| 21.0.1-open | [Cliff Click](https://github.com/cliffclick) | uses Unsafe |
|   | 00:01.169 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_melgenek.java)| 21.0.2-open | [Yevhenii Melnyk](https://github.com/melgenek) |  |
|   | 00:01.188 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_vemanaNonIdiomatic.java)| 21.0.1-graal | [Subrahmanyam](https://github.com/vemanaNonIdiomatic) | uses Unsafe |
|   | 00:01.193 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_gigiblender.java)| 21.0.1-open | [Florin Blanaru](https://github.com/gigiblender) | uses Unsafe |
|   | 00:01.234 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_obourgain.java)| 21.0.1-open | [Olivier Bourgain](https://github.com/obourgain) | uses Unsafe |
|   | 00:01.242 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_merykittyunsafe.java)| 21.0.1-open | [Quan Anh Mai](https://github.com/merykittyunsafe) | uses Unsafe |
|   | 00:01.252 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_jincongho.java)| 21.0.1-open | [Jin Cong Ho](https://github.com/jincongho) | uses Unsafe |
|   | 00:01.267 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_linl33.java)| 22.ea.32-open | [Li Lin](https://github.com/linl33) | uses Unsafe |
|   | 00:01.363 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_plevart.java)| 21.0.2-tem | [Peter Levart](https://github.com/plevart) |  |
|   | 00:01.380 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_hundredwatt.java)| 21.0.1-graal | [Jason Nochlin](https://github.com/hundredwatt) |  |
|   | 00:01.391 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_merykitty.java)| 21.0.1-open | [Quan Anh Mai](https://github.com/merykitty) |  |
|   | 00:01.439 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_arjenw.java)| 21.0.1-open | [Arjen Wisse](https://github.com/arjenw) |  |
|   | 00:01.446 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_ianopolousfast.java)| 21.0.1-open | [Dr Ian Preston](https://github.com/ianopolousfast) |  |
|   | 00:01.504 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_isolgpus.java)| 21.0.1-open | [Jamie Stansfield](https://github.com/isolgpus) |  |
|   | 00:01.514 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_vemana.java)| 21.0.1-graal | [Subrahmanyam](https://github.com/vemana) |  |
|   | 00:01.516 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_vaidhy.java)| 21.0.1-graal | [Vaidhy Mayilrangam](https://github.com/vaidhy) | uses Unsafe |
|   | 00:01.586 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_yourwass.java)| 21.0.1-open | [yourwass](https://github.com/yourwass) | uses Unsafe |
|   | 00:01.647 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_dpsoft.java)| 21.0.2-graal | [Diego Parra](https://github.com/dpsoft) |  |
|   | 00:01.694 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_parkertimmins.java)| 21.0.1-open | [Parker Timmins](https://github.com/parkertimmins) |  |
|   | 00:01.694 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_charlibot.java)| 21.0.1-graal | [Charlie Evans](https://github.com/charlibot) | uses Unsafe |
|   | 00:01.702 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_spullara.java)| 21.0.1-graal | [Sam Pullara](https://github.com/spullara) |  |
|   | 00:01.733 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_EduardoSaverin.java)| java | [Sumit Chaudhary](https://github.com/EduardoSaverin) | uses Unsafe |
|   | 00:01.742 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_unbounded.java)| 21.0.1-open | [unbounded](https://github.com/unbounded) |  |
|   | 00:02.241 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_flippingbits.java)| 21.0.1-graal | [Stefan Sprenger](https://github.com/flippingbits) | uses Unsafe |
|   | 00:02.294 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_giovannicuccu.java)| 21.0.1-open | [Giovanni Cuccu](https://github.com/giovannicuccu) |  |
|   | 00:02.990 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_PanagiotisDrakatos.java)| 21.0.1-graal | [Panagiotis Drakatos](https://github.com/PanagiotisDrakatos) | GraalVM native binary |
|   | 00:03.205 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_jparera.java)| 21.0.1-open | [Juan Parera](https://github.com/jparera) |  |
|   | 00:10.929 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_gamlerhart.java)| 21.0.1-open | [Roman Stoffel](https://github.com/gamlerhart) |  |

#### 10K Key Set

The 1BRC challenge data set contains 413 distinct weather stations, whereas the rules allow for 10,000 different station names to occur.
Here are the results from running the top 40 entries (as of commit [e1fb378a](https://github.com/gunnarmorling/1brc/commit/e1fb378acce53d8c3035ee4813ae377aaf51aa3c), Feb 2) against 1,000,000,000 measurement values across 10K stations (created via _./create_measurements3.sh 1000000000_),
using eight cores on the evaluation machine:

| # | Result (m:s.ms) | Implementation     | JDK | Submitter     | Notes     |
|---|-----------------|--------------------|-----|---------------|-----------|
| 1 | 00:02.957 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_artsiomkorzun.java)| 21.0.2-graal | [Artsiom Korzun](https://github.com/artsiomkorzun) | GraalVM native binary, uses Unsafe |
| 2 | 00:03.058 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_mtopolnik.java)| 21.0.2-graal | [Marko Topolnik](https://github.com/mtopolnik) | GraalVM native binary, uses Unsafe |
| 3 | 00:03.186 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_stephenvonworley.java)| 21.0.2-graal | [Stephen Von Worley](https://github.com/stephenvonworley) | GraalVM native binary, uses Unsafe |
|   | 00:03.998 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_royvanrijn.java)| 21.0.2-graal | [Roy van Rijn](https://github.com/royvanrijn) | GraalVM native binary, uses Unsafe |
|   | 00:04.042 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_jerrinot.java)| 21.0.2-graal | [Jaromir Hamala](https://github.com/jerrinot) | GraalVM native binary, uses Unsafe |
|   | 00:04.289 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_gonixunsafe.java)| 21.0.1-open | [gonix](https://github.com/gonixunsafe) | uses Unsafe |
|   | 00:04.522 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_tivrfoa.java)| 21.0.2-graal | [tivrfoa](https://github.com/tivrfoa) | GraalVM native binary, uses Unsafe |
|   | 00:04.653 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_JamalMulla.java)| 21.0.2-graal | [Jamal Mulla](https://github.com/JamalMulla) | GraalVM native binary, uses Unsafe |
|   | 00:04.733 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_gonix.java)| 21.0.1-open | [gonix](https://github.com/gonix) |  |
|   | 00:04.836 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_vemanaNonIdiomatic.java)| 21.0.1-graal | [Subrahmanyam](https://github.com/vemanaNonIdiomatic) | uses Unsafe |
|   | 00:04.870 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_thomaswue.java)| 21.0.2-graal | [Thomas Wuerthinger](https://github.com/thomaswue), [Quan Anh Mai](https://github.com/merykitty), [Alfonso² Peterssen](https://github.com/mukel) | GraalVM native binary, uses Unsafe |
|   | 00:05.240 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_zerninv.java)| 21.0.2-graal | [zerninv](https://github.com/zerninv) | GraalVM native binary, uses Unsafe |
|   | 00:05.394 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_yavuztas.java)| 21.0.2-graal | [Yavuz Tas](https://github.com/yavuztas) | GraalVM native binary, uses Unsafe |
|   | 00:05.906 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_ebarlas.java)| 21.0.2-graal | [Elliot Barlas](https://github.com/ebarlas) | GraalVM native binary, uses Unsafe |
|   | 00:06.086 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_abeobk.java)| 21.0.2-graal | [Van Phu DO](https://github.com/abeobk) | GraalVM native binary, uses Unsafe |
|   | 00:06.379 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_iziamos.java)| 21.0.2-graal | [John Ziamos](https://github.com/iziamos) | GraalVM native binary, uses Unsafe |
|   | 00:07.113 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_melgenek.java)| 21.0.2-open | [Yevhenii Melnyk](https://github.com/melgenek) |  |
|   | 00:07.542 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_jonathan-aotearoa.java)| 21.0.2-graal | [Jonathan Wright](https://github.com/jonathan-aotearoa) | GraalVM native binary |
|   | 00:07.889 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_gigiblender.java)| 21.0.1-open | [Florin Blanaru](https://github.com/gigiblender) | uses Unsafe |
|   | 00:07.970 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_cliffclick.java)| 21.0.1-open | [Cliff Click](https://github.com/cliffclick) | uses Unsafe |
|   | 00:08.857 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_serkan-ozal.java)| 21.0.1-open | [Serkan ÖZAL](https://github.com/serkan-ozal) |  |
|   | 00:09.333 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_yourwass.java)| 21.0.1-open | [yourwass](https://github.com/yourwass) | uses Unsafe |
|   | 00:09.722 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_shipilev.java)| 21.0.1-open | [Aleksey Shipilëv](https://github.com/shipilev) |  |
|   | 00:09.777 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_vaidhy.java)| 21.0.1-graal | [Vaidhy Mayilrangam](https://github.com/vaidhy) | uses Unsafe |
|   | 00:10.263 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_merykittyunsafe.java)| 21.0.1-open | [Quan Anh Mai](https://github.com/merykittyunsafe) | uses Unsafe |
|   | 00:11.154 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_parkertimmins.java)| 21.0.1-open | [Parker Timmins](https://github.com/parkertimmins) |  |
|   | 00:13.175 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_merykitty.java)| 21.0.1-open | [Quan Anh Mai](https://github.com/merykitty) |  |
|   | 00:13.245 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_ianopolousfast.java)| 21.0.1-open | [Dr Ian Preston](https://github.com/ianopolousfast) |  |
|   | 00:13.377 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_giovannicuccu.java)| 21.0.1-open | [Giovanni Cuccu](https://github.com/giovannicuccu) |  |
|   | 00:13.761 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_jparera.java)| 21.0.1-open | [Juan Parera](https://github.com/jparera) |  |
|   | 00:14.441 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_plevart.java)| 21.0.2-tem | [Peter Levart](https://github.com/plevart) |  |
|   | 00:15.548 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_jincongho.java)| 21.0.1-open | [Jin Cong Ho](https://github.com/jincongho) | uses Unsafe |
|   | 00:17.906 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_hundredwatt.java)| 21.0.1-graal | [Jason Nochlin](https://github.com/hundredwatt) |  |
|   | 00:18.770 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_linl33.java)| 22.ea.32-open | [Li Lin](https://github.com/linl33) | uses Unsafe |
|   | 00:19.106 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_gamlerhart.java)| 21.0.1-open | [Roman Stoffel](https://github.com/gamlerhart) |  |
|   | 00:20.151 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_roman_r_m.java)| 21.0.1-graal | [Roman Musin](https://github.com/roman-r-m) | GraalVM native binary, uses Unsafe; seg-faults occassionally |
|   | 00:22.953 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_JaimePolidura.java)| 21.0.2-graal | [Jaime Polidura](https://github.com/JaimePolidura) | GraalVM native binary, uses Unsafe |
|   | ---       | | | | |
|   | DNF       | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_JesseVanRooy.java)| 21.0.1-open | [JesseVanRooy](https://github.com/JesseVanRooy) | Incorrect output |
|   | DNF       | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_vemana.java)| 21.0.1-graal | [Subrahmanyam](https://github.com/vemana) | Doesn't complete in 60 sec |
|   | DNF       | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_arjenw.java)| 21.0.1-open | [Arjen Wisse](https://github.com/arjenw) | Incorrect output |

## Prerequisites

[Java 21](https://openjdk.org/projects/jdk/21/) must be installed on your system.

## Running the Challenge

This repository contains two programs:

* `dev.morling.onebrc.CreateMeasurements` (invoked via _create\_measurements.sh_): Creates the file _measurements.txt_ in the root directory of this project with a configurable number of random measurement values
* `dev.morling.onebrc.CalculateAverage` (invoked via _calculate\_average\_baseline.sh_): Calculates the average values for the file _measurements.txt_

Execute the following steps to run the challenge:

1. Build the project using Apache Maven:

    ```
    ./mvnw clean verify
    ```

2. Create the measurements file with 1B rows (just once):

    ```
    ./create_measurements.sh 1000000000
    ```

    This will take a few minutes.
    **Attention:** the generated file has a size of approx. **12 GB**, so make sure to have enough diskspace.

    If you're running the challenge with a non-Java language, there's a non-authoritative Python script to generate the measurements file at `src/main/python/create_measurements.py`. The authoritative method for generating the measurements is the Java program `dev.morling.onebrc.CreateMeasurements`.

3. Calculate the average measurement values:

    ```
    ./calculate_average_baseline.sh
    ```

    The provided naive example implementation uses the Java streams API for processing the file and completes the task in ~2 min on environment used for [result evaluation](#evaluating-results).
    It serves as the base line for comparing your own implementation.

4. Optimize the heck out of it:

    Adjust the `CalculateAverage` program to speed it up, in any way you see fit (just sticking to a few rules described below).
    Options include parallelizing the computation, using the (incubating) Vector API, memory-mapping different sections of the file concurrently, using AppCDS, GraalVM, CRaC, etc. for speeding up the application start-up, choosing and tuning the garbage collector, and much more.

## Flamegraph/Profiling

A tip is that if you have [jbang](https://jbang.dev) installed, you can get a flamegraph of your program by running
[async-profiler](https://github.com/jvm-profiling-tools/async-profiler) via [ap-loader](https://github.com/jvm-profiling-tools/ap-loader):

`jbang --javaagent=ap-loader@jvm-profiling-tools/ap-loader=start,event=cpu,file=profile.html -m dev.morling.onebrc.CalculateAverage_yourname target/average-1.0.0-SNAPSHOT.jar`

or directly on the .java file:

`jbang --javaagent=ap-loader@jvm-profiling-tools/ap-loader=start,event=cpu,file=profile.html src/main/java/dev/morling/onebrc/CalculateAverage_yourname`

When you run this, it will generate a flamegraph in profile.html. You can then open this in a browser and see where your program is spending its time.

## Rules and limits

* Any of these Java distributions may be used:
    * Any builds provided by [SDKMan](https://sdkman.io/jdks)
    * Early access builds available on openjdk.net may be used (including EA builds for OpenJDK projects like Valhalla)
    * Builds on [builds.shipilev.net](https://builds.shipilev.net/openjdk-jdk-lilliput/)
If you want to use a build not available via these channels, reach out to discuss whether it can be considered.
* No external library dependencies may be used
* Implementations must be provided as a single source file
* The computation must happen at application _runtime_, i.e. you cannot process the measurements file at _build time_
(for instance, when using GraalVM) and just bake the result into the binary
* Input value ranges are as follows:
    * Station name: non null UTF-8 string of min length 1 character and max length 100 bytes, containing neither `;` nor `\n` characters. (i.e. this could be 100 one-byte characters, or 50 two-byte characters, etc.)
    * Temperature value: non null double between -99.9 (inclusive) and 99.9 (inclusive), always with one fractional digit
* There is a maximum of 10,000 unique station names
* Line endings in the file are `\n` characters on all platforms
* Implementations must not rely on specifics of a given data set, e.g. any valid station name as per the constraints above and any data distribution (number of measurements per station) must be supported
* The rounding of output values must be done using the semantics of IEEE 754 rounding-direction "roundTowardPositive"

## Entering the Challenge

To submit your own implementation to 1BRC, follow these steps:

* Create a fork of the [onebrc](https://github.com/gunnarmorling/onebrc/) GitHub repository.
* Run `./create_fork.sh <your_GH_user>` to copy the baseline implementation to your personal files, or do this manually:
  * Create a copy of _CalculateAverage\_baseline.java_, named _CalculateAverage\_<your_GH_user>.java_, e.g. _CalculateAverage\_doloreswilson.java_.
  * Create a copy of _calculate\_average\_baseline.sh_, named _calculate\_average\_<your_GH_user>.sh_, e.g. _calculate\_average\_doloreswilson.sh_.
  * Adjust that script so that it references your implementation class name. If needed, provide any JVM arguments via the `JAVA_OPTS` variable in that script.
    Make sure that script does not write anything to standard output other than calculation results.
  * (Optional) OpenJDK 21 is used by default. If a custom JDK build is required, create a copy of _prepare\_baseline.sh_, named _prepare\_<your_GH_user>.sh_, e.g. _prepare\_doloreswilson.sh_. Include the SDKMAN command `sdk use java [version]` in the your prepare script.
  * (Optional) If you'd like to use native binaries (GraalVM), add all the required build logic to your _prepare\_<your_GH_user>.sh_ script.
* Make that implementation fast. Really fast.
* Run the test suite by executing _/test.sh <your_GH_user>_; if any differences are reported, fix them before submitting your implementation.
* Create a pull request against the upstream repository, clearly stating
  * The name of your implementation class.
  * The execution time of the program on your system and specs of the same (CPU, number of cores, RAM). This is for informative purposes only, the official runtime will be determined as described below.
* I will run the program and determine its performance as described in the next section, and enter the result to the scoreboard.

**Note:** I reserve the right to not evaluate specific submissions if I feel doubtful about the implementation (I.e. I won't run your Bitcoin miner ;).

If you'd like to discuss any potential ideas for implementing 1BRC with the community,
you can use the [GitHub Discussions](https://github.com/gunnarmorling/onebrc/discussions) of this repository.
Please keep it friendly and civil.

The challenge runs until Jan 31 2024.
Any submissions (i.e. pull requests) created after Jan 31 2024 23:59 UTC will not be considered.

## Evaluating Results

Results are determined by running the program on a [Hetzner AX161](https://www.hetzner.com/dedicated-rootserver/ax161) dedicated server (32 core AMD EPYC™ 7502P (Zen2), 128 GB RAM).

Programs are run from  a RAM disk (i.o. the IO overhead for loading the file from disk is not relevant), using 8 cores of the machine.
Each contender must pass the 1BRC test suite (_/test.sh_).
The `hyperfine` program is used for measuring execution times of the launch scripts of all entries, i.e. end-to-end times are measured.
Each contender is run five times in a row.
The slowest and the fastest runs are discarded.
The mean value of the remaining three runs is the result for that contender and will be added to the results table above.
The exact same _measurements.txt_ file is used for evaluating all contenders.
See the script _evaluate.sh_ for the exact implementation of the evaluation steps.

## Prize

If you enter this challenge, you may learn something new, get to inspire others, and take pride in seeing your name listed in the scoreboard above.
Rumor has it that the winner may receive a unique 1️⃣🐝🏎️ t-shirt, too!

## FAQ

_Q: Can I use Kotlin or other JVM languages other than Java?_\
A: No, this challenge is focussed on Java only. Feel free to inofficially share implementations significantly outperforming any listed results, though.

_Q: Can I use non-JVM languages and/or tools?_\
A: No, this challenge is focussed on Java only. Feel free to inofficially share interesting implementations and results though. For instance it would be interesting to see how DuckDB fares with this task.

_Q: I've got an implementation—but it's not in Java. Can I share it somewhere?_\
A: Whilst non-Java solutions cannot be formally submitted to the challenge, you are welcome to share them over in the [Show and tell](https://github.com/gunnarmorling/1brc/discussions/categories/show-and-tell) GitHub discussion area.

_Q: Can I use JNI?_\
A: Submissions must be completely implemented in Java, i.e. you cannot write JNI glue code in C/C++. You could use AOT compilation of Java code via GraalVM though, either by AOT-compiling the entire application, or by creating a native library (see [here](https://www.graalvm.org/22.0/reference-manual/native-image/ImplementingNativeMethodsInJavaWithSVM/).

_Q: What is the encoding of the measurements.txt file?_\
A: The file is encoded with UTF-8.

_Q: Can I make assumptions on the names of the weather stations showing up in the data set?_\
A: No, while only a fixed set of station names is used by the data set generator, any solution should work with arbitrary UTF-8 station names
(for the sake of simplicity, names are guaranteed to contain no `;` or `\n` characters).

_Q: Can I copy code from other submissions?_\
A: Yes, you can. The primary focus of the challenge is about learning something new, rather than "winning". When you do so, please give credit to the relevant source submissions. Please don't re-submit other entries with no or only trivial improvements.

_Q: Which operating system is used for evaluation?_\
A: Fedora 39.

_Q: My solution runs in 2 sec on my machine. Am I the fastest 1BRC-er in the world?_\
A: Probably not :) 1BRC results are reported in wallclock time, thus results of different implementations are only comparable when obtained on the same machine. If for instance an implementation is faster on a 32 core workstation than on the 8 core evaluation instance, this doesn't allow for any conclusions. When sharing 1BRC results, you should also always share the result of running the baseline implementation on the same hardware.

_Q: Why_ 1️⃣🐝🏎️ _?_\
A: It's the abbreviation of the project name: **One** **B**illion **R**ow **C**hallenge.

## 1BRC on the Web

A list of external resources such as blog posts and videos, discussing 1BRC and specific implementations:

* [The One Billion Row Challenge Shows That Java Can Process a One Billion Rows File in Two Seconds ](https://www.infoq.com/news/2024/01/1brc-fast-java-processing), by Olimpiu Pop (interview)
* [Cliff Click discussing his 1BRC solution on the Coffee Compiler Club](https://www.youtube.com/watch?v=NJNIbgV6j-Y) (video)
* [1️⃣🐝🏎️🦆 (1BRC in SQL with DuckDB)](https://rmoff.net/2024/01/03/1%EF%B8%8F%E2%83%A3%EF%B8%8F-1brc-in-sql-with-duckdb/), by Robin Moffatt (blog post)
* [1 billion rows challenge in PostgreSQL and ClickHouse](https://ftisiot.net/posts/1brows/), by Francesco Tisiot (blog post)
* [The One Billion Row Challenge with Snowflake](https://medium.com/snowflake/the-one-billion-row-challenge-with-snowflake-f612ae76dbd5), by Sean Falconer (blog post)
* [One billion row challenge using base R](https://www.r-bloggers.com/2024/01/one-billion-row-challenge-using-base-r/), by  David Schoch (blog post)
* [1 Billion Row Challenge with Apache Pinot](https://hubertdulay.substack.com/p/1-billion-row-challenge-in-apache), by Hubert Dulay (blog post)
* [One Billion Row Challenge In C](https://www.dannyvankooten.com/blog/2024/1brc/), by Danny Van Kooten (blog post)
* [One Billion Row Challenge in Racket](https://defn.io/2024/01/10/one-billion-row-challenge-in-racket/), by Bogdan Popa (blog post)
* [The One Billion Row Challenge - .NET Edition](https://dev.to/mergeconflict/392-the-one-billion-row-challenge-net-edition), by Frank A. Krueger (podcast)
* [One Billion Row Challenge](https://curiouscoding.nl/posts/1brc/), by Ragnar Groot Koerkamp (blog post)
* [ClickHouse and The One Billion Row Challenge](https://clickhouse.com/blog/clickhouse-one-billion-row-challenge), by Dale McDiarmid (blog post)
* [One Billion Row Challenge & Azure Data Explorer](https://nielsberglund.com/post/2024-01-28-one-billion-row-challenge--azure-data-explorer/), by Niels Berglund (blog post)
* [One Billion Row Challenge - view from sidelines](https://www.chashnikov.dev/post/one-billion-row-challenge-view-from-sidelines), by Leo Chashnikov (blog post)
* [1 billion row challenge in SQL and Oracle Database](https://geraldonit.com/2024/01/31/1-billion-row-challenge-in-sql-and-oracle-database/), by Gerald Venzl (blog post)
* [One Billion Row Challenge: Learned So Far](https://gamlor.info/posts-output/2024-01-12-one-billion-row-challenge/en/), by Roman Stoffel (blog post)
* [One Billion Row Challenge in Racket](https://defn.io/2024/01/10/one-billion-row-challenge-in-racket/), by Bogdan Popa (blog post)
* [The 1 Billion row challenge with Singlestore](https://medium.com/@testily/the-1-billion-row-challenge-with-singlestore-224ce97e451f), by Anna Semjen (blog post)
* [1BRC in .NET among fastest on Linux: My Optimization Journey](https://hotforknowledge.com/2024/01/13/1brc-in-dotnet-among-fastest-on-linux-my-optimization-journey/), by Victor Baybekov (blog post)
* [One Billion Rows – Gerald’s Challenge](https://connor-mcdonald.com/2024/02/03/one-billion-rows-geralds-challenge/), by Connor McDonald (blog post)
* [Reading a file insanely fast in Java](https://rmannibucau.metawerx.net/reading-a-file-insanely-fast-in-java.html), by Romain Manni-Bucau (blog post)
* [#1BRC Timeline](https://tivrfoa.github.io/java/benchmark/performance/2024/02/05/1BRC-Timeline.html), by tivrfoa (blog post)
* [1BRC - What a Journey](https://www.esolutions.tech/1brc-what-a-journey), by Marius Staicu (blog post)
* [One Billion Rows Challenge in Golang](https://www.bytesizego.com/blog/one-billion-row-challenge-go), by Shraddha Agrawal (blog post)
* [The Billion Row Challenge (1BRC) - Step-by-step from 71s to 1.7s](https://questdb.io/blog/billion-row-challenge-step-by-step/) by Marko Topolnik (blog post)
* [Entering The One Billion Row Challenge With GitHub Copilot](https://devblogs.microsoft.com/java/entering-the-one-billion-row-challenge-with-github-copilot/) by Antonio Goncalves (blog post)
* [DataFrame and The One Billion Row Challenge--How to use a Java DataFrame to save developer time, produce readable code, and not win any prizes](https://medium.com/@zakhav/dataframe-and-one-billion-row-challenge-97b3d0255dd1) by Vladimir Zakharov (blog post)
## License

This code base is available under the Apache License, version 2.

## Code of Conduct

Be excellent to each other!
More than winning, the purpose of this challenge is to have fun and learn something new.


================================================
FILE: calculate_average_0xshivamagarwal.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

JAVA_OPTS="--enable-preview -XX:+UnlockExperimentalVMOptions -XX:+TrustFinalNonStaticFields -dsa -XX:+UseNUMA"
if [[ ! "$(uname -s)" = "Darwin" ]]; then
    JAVA_OPTS="$JAVA_OPTS -XX:+UseTransparentHugePages"
fi
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_0xshivamagarwal


================================================
FILE: calculate_average_3j5a.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

JAVA_OPTS="--add-opens=java.base/jdk.internal.util=ALL-UNNAMED"
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_3j5a


================================================
FILE: calculate_average_AbstractKamen.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

# Uncomment below to use sdk
# source "$HOME/.sdkman/bin/sdkman-init.sh"
# sdk use java 21.0.1-graal 1>&2

JAVA_OPTS=""
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_AbstractKamen


================================================
FILE: calculate_average_AlexanderYastrebov.sh
================================================
#!/bin/bash
#
#  Copyright 2023 The original authors
#
#  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.
#

INPUT=${1:-"measurements.txt"}

target/AlexanderYastrebov/1brc "$INPUT"


================================================
FILE: calculate_average_C5H12O5.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

JAVA_OPTS="--enable-preview"
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_C5H12O5


================================================
FILE: calculate_average_ChrisBellew.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

JAVA_OPTS="--add-modules jdk.incubator.vector --enable-preview"
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_chrisbellew

================================================
FILE: calculate_average_EduardoSaverin.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

JAVA_OPTS="--enable-preview"
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_EduardoSaverin


================================================
FILE: calculate_average_JaimePolidura.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

if [ -f target/CalculateAverage_JaimePolidura_image ]; then
	target/CalculateAverage_JaimePolidura_image
else
	echo "Native image not found. Running in JVM mode"
	JAVA_OPTS="--enable-preview -XX:+UnlockExperimentalVMOptions -XX:+UseEpsilonGC -XX:+UseTransparentHugePages -XX:+TrustFinalNonStaticFields"
	java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_JaimePolidura
fi




================================================
FILE: calculate_average_JamalMulla.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#



if [ -f target/CalculateAverage_JamalMulla_image ]; then
    target/CalculateAverage_JamalMulla_image
else
    JAVA_OPTS="--enable-preview -XX:+UnlockExperimentalVMOptions -XX:+TrustFinalNonStaticFields -XX:+UseTransparentHugePages -XX:-TieredCompilation"
    java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_JamalMulla
fi

================================================
FILE: calculate_average_JesseVanRooy.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#


JAVA_OPTS="--enable-preview -XX:-TieredCompilation -Dsun.stdout.encoding=UTF-8"
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_JesseVanRooy


================================================
FILE: calculate_average_Judekeyser.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

JAVA_OPTS="--enable-preview --add-modules jdk.incubator.vector"
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_Judekeyser


================================================
FILE: calculate_average_JurenIvan.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

JAVA_OPTS="--enable-preview"
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_JurenIvan


================================================
FILE: calculate_average_Kidlike.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

if [ -f ./target/image_calculateaverage_Kidlike ]; then
    ./target/image_calculateaverage_Kidlike
else
    # -XX:+UseEpsilonGC
    JAVA_OPTS="--enable-preview -Xms18g -Xmx18g -XX:+UnlockExperimentalVMOptions"
    java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_Kidlike
fi


================================================
FILE: calculate_average_MahmoudFawzyKhalil.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

JAVA_OPTS="--enable-preview"
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_MahmoudFawzyKhalil


================================================
FILE: calculate_average_MeanderingProgrammer.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

JAVA_OPTS=""
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_MeanderingProgrammer


================================================
FILE: calculate_average_PanagiotisDrakatos.sh
================================================
#
#  Copyright 2023 The original authors
#
#  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.
#


#
#  Copyright 2023 The original authors
#
#  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 "$HOME/.sdkman/bin/sdkman-init.sh"
sdk use java 21.0.1-graal 1>&2
JAVA_OPTS="--enable-preview -Xms1536m  -Xmx10536m -XX:NewSize=256m -XX:MaxNewSize=512m -XX:MaxMetaspaceSize=512m -XX:+DisableExplicitGC -XX:+UseSerialGC -XX:-TieredCompilation -XX:+UnlockExperimentalVMOptions -XX:+TrustFinalNonStaticFields -dsa -XX:+UseNUMA"
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_PanagiotisDrakatos


================================================
FILE: calculate_average_PawelAdamski.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

JAVA_OPTS="-Xnoclassgc"
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_PawelAdamski


================================================
FILE: calculate_average_SamuelYvon.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

# THIS IS A DIRECT COPY OF royvanrijn's CALCULATE SCRIPT; I AM NOT FAMILIAR WITH AOT STUFF ON JAVA.
# THANKS royvanrijn!!

if [ -f target/CalculateAverage_SamuelYvon_image ]; then
    echo "Picking up existing native image 'target/CalculateAverage_SamuelYvon_image', delete the file to select JVM mode." 1>&2
    target/CalculateAverage_SamuelYvon_image
else
    JAVA_OPTS="--enable-preview -XX:+UnlockExperimentalVMOptions -XX:+TrustFinalNonStaticFields -dsa -XX:+UseNUMA"
    if [[ ! "$(uname -s)" = "Darwin" ]]; then
        # On OS/X, my machine, this errors:
        JAVA_OPTS="$JAVA_OPTS -XX:+UseTransparentHugePages"
    fi
    echo "Choosing to run the app in JVM mode as no native image was found, use additional_build_step_SamuelYvon.sh to generate." 1>&2
    java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_SamuelYvon
fi


================================================
FILE: calculate_average_Smoofie.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

JAVA_OPTS="--enable-preview"
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_Smoofie


================================================
FILE: calculate_average_Ujjwalbharti.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#


JAVA_OPTS=""
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_Ujjwalbharti


================================================
FILE: calculate_average_YannMoisan.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

JAVA_OPTS=""
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_YannMoisan


================================================
FILE: calculate_average_abeobk.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

if [ -f target/CalculateAverage_abeobk_image ]; then
    echo "Picking up existing native image 'target/CalculateAverage_abeobk_image', delete the file to select JVM mode." 1>&2
    target/CalculateAverage_abeobk_image
else
    JAVA_OPTS="--enable-preview"
    echo "Chosing to run the app in JVM mode as no native image was found, use prepare_abeobk.sh to generate." 1>&2
    java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_abeobk
fi



================================================
FILE: calculate_average_abfrmblr.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#


JAVA_OPTS="--enable-preview -Xms2g -Xmx2g"
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_abfrmblr


================================================
FILE: calculate_average_adriacabeza.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#


JAVA_OPTS="-XX:+UseStringDeduplication -XX:+UnlockExperimentalVMOptions -XX:+UseEpsilonGC -XX:+AlwaysPreTouch"
java --enable-preview  -classpath target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_adriacabeza



================================================
FILE: calculate_average_agoncal.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

# sdk use java 21.0.1-tem

JAVA_OPTS="--enable-preview -XX:+UseShenandoahGC -XX:+UseStringDeduplication -da"
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_agoncal

================================================
FILE: calculate_average_ags313.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

JAVA_OPTS="-server -Xnoclassgc -Xmx1G"
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_ags313


================================================
FILE: calculate_average_albertoventurini.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

JAVA_OPTS="-Xnoclassgc"
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_albertoventurini


================================================
FILE: calculate_average_alesj.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

# Uncomment below to use sdk
# source "$HOME/.sdkman/bin/sdkman-init.sh"
# sdk use java 21.0.1-graal 1>&2

JAVA_OPTS=""
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_alesj


================================================
FILE: calculate_average_algirdasrascius.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

JAVA_OPTS=""
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_algirdasrascius


================================================
FILE: calculate_average_anandmattikopp.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

JAVA_OPTS=""
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_anandmattikopp


================================================
FILE: calculate_average_anestoruk.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

JAVA_OPTS="--enable-preview"
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_anestoruk


================================================
FILE: calculate_average_anitasv.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

JAVA_OPTS="--enable-preview"
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_anitasv


================================================
FILE: calculate_average_arjenvaneerde.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#


JAVA_OPTS=""
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_arjenvaneerde


================================================
FILE: calculate_average_arjenw.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

JAVA_OPTS="-Xms500m -Xmx500m --enable-preview -dsa -XX:+UnlockExperimentalVMOptions -XX:+UseEpsilonGC -XX:-AlwaysPreTouch"

java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_arjenw $@


================================================
FILE: calculate_average_armandino.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

if [ -f target/CalculateAverage_armandino_image ]; then
    echo "Picking up existing native image 'target/CalculateAverage_armandino_image', delete the file to select JVM mode." 1>&2
    target/CalculateAverage_armandino_image
else
    echo "Chosing to run the app in JVM mode as no native image was found, use prepare_armandino.sh to generate." 1>&2
    JAVA_OPTS="--enable-preview -da -dsa -Xms128m -Xmx128m -XX:+UnlockExperimentalVMOptions -XX:+UseEpsilonGC -XX:+AlwaysPreTouch"
    java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_armandino
fi


================================================
FILE: calculate_average_artpar.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#


JAVA_OPTS="--enable-preview"
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_artpar


================================================
FILE: calculate_average_artsiomkorzun.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

if [ -f target/CalculateAverage_artsiomkorzun_image ]; then
    echo "Picking up existing native image 'target/CalculateAverage_artsiomkorzun_image', delete the file to select JVM mode." 1>&2
    target/CalculateAverage_artsiomkorzun_image
else
    JAVA_OPTS="--enable-preview -Xmx128m -XX:+UseSerialGC -XX:-TieredCompilation"
    echo "Chosing to run the app in JVM mode as no native image was found, use prepare_artsiomkorzun.sh to generate." 1>&2
    java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_artsiomkorzun
fi

================================================
FILE: calculate_average_as-com.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

JAVA_OPTS="--enable-preview --add-modules jdk.incubator.vector -XX:+UnlockExperimentalVMOptions -XX:ActiveProcessorCount=8 -Xms500m -Xmx500m -XX:CompilationMode=high-only -Djdk.incubator.vector.VECTOR_ACCESS_OOB_CHECK=0"
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_asun


================================================
FILE: calculate_average_baseline.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

JAVA_OPTS=""
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_baseline


================================================
FILE: calculate_average_baseline_original_rounding.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

JAVA_OPTS=""
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_baseline_original_rounding


================================================
FILE: calculate_average_berry120.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

#sdk use java 21.0.1-amzn
JAVA_OPTS="-Xlog:gc=error --enable-preview --add-modules=jdk.incubator.vector"
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_berry120


================================================
FILE: calculate_average_bjhara.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#


JAVA_OPTS=""
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_bjhara


================================================
FILE: calculate_average_breejesh.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

JAVA_OPTS=""
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_breejesh


================================================
FILE: calculate_average_bytesfellow.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

JAVA_OPTS="-Xms12g -Xmx12g -XX:+AlwaysPreTouch -XX:+UseParallelGC -XX:-OmitStackTraceInFastThrow " 
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_bytesfellow


================================================
FILE: calculate_average_cb0s.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

# Arguments
JAVA_OPTS="--enable-preview -XX:MaxGCPauseMillis=1 -XX:-AlwaysPreTouch -XX:+UseParallelGC -XX:+TieredCompilation"
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_cb0s


================================================
FILE: calculate_average_charlibot.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#


JAVA_OPTS="--enable-preview"
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_charlibot


================================================
FILE: calculate_average_cliffclick.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#


JAVA_OPTS=""
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_cliffclick


================================================
FILE: calculate_average_coolmineman.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

JAVA_OPTS=""
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_coolmineman


================================================
FILE: calculate_average_couragelee.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

JAVA_OPTS="--enable-preview"
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_couragelee


================================================
FILE: calculate_average_criccomini.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#


#JAVA_OPTS="-XX:+UseZGC -server -Xms700m -Xlog:gc"
JAVA_OPTS="-XX:+UseZGC -Xms700m"
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_criccomini


================================================
FILE: calculate_average_davecom.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#


JAVA_OPTS=""
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_davecom


================================================
FILE: calculate_average_davery22.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#


JAVA_OPTS=""
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_davery22


================================================
FILE: calculate_average_ddimtirov.sh
================================================
#!/bin/bash
#
#  Copyright 2023 The original authors
#
#  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.
#

# --enable-preview to use the new memory mapped segments
# We don't allocate much, so just give it 1G heap and turn off GC; the AlwaysPreTouch was suggested by the ergonomics
# Experimenting on the target VM config with various memory tweaks showed that UseTransparentHugePages gives us 10% boost
JAVA_OPTS="--enable-preview -da -dsa -Xms1g -Xmx1g -XX:+UnlockExperimentalVMOptions -XX:+UseEpsilonGC  -XX:+AlwaysPreTouch -XX:+UseTransparentHugePages"
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_ddimtirov


================================================
FILE: calculate_average_deemkeen.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#


JAVA_OPTS="--enable-preview"
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_deemkeen


================================================
FILE: calculate_average_dkarampi.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

JAVA_OPTS="-XX:+AlwaysCompileLoopMethods"
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_dkarampi


================================================
FILE: calculate_average_dmitry-midokura.sh
================================================
#!/bin/bash
#
#  Copyright 2023 The original authors
#
#  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.
#


#JAVA_OPTS="-verbose:gc"
JAVA_OPTS="--enable-preview -Xmx128m -XX:+UseSerialGC -XX:-TieredCompilation"
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_bufistov $1 $2


================================================
FILE: calculate_average_dpsoft.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

JAVA_OPTS="--enable-preview -XX:+UnlockExperimentalVMOptions -XX:-EnableJVMCI -XX:+UseEpsilonGC -Xms128m -Xmx128m -XX:+AlwaysPreTouch -XX:+UseTransparentHugePages -XX:-TieredCompilation -XX:+TrustFinalNonStaticFields"

java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_dpsoft

================================================
FILE: calculate_average_dqhieuu.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

JAVA_OPTS=""
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_dqhieuu


================================================
FILE: calculate_average_ebarlas.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

if [ -f target/CalculateAverage_ebarlas_image ]; then
    echo "Picking up existing native image 'target/CalculateAverage_ebarlas_image', delete the file to select JVM mode." 1>&2
    target/CalculateAverage_ebarlas_image
else
    echo "Choosing to run the app in JVM mode as no native image was found, use prepare_ebarlas.sh to generate." 1>&2
    java --enable-preview --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_ebarlas
fi


================================================
FILE: calculate_average_elh.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

target/elh/1brc-go


================================================
FILE: calculate_average_entangled90.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#


JAVA_OPTS=""
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_entangled90


================================================
FILE: calculate_average_eriklumme.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

JAVA_OPTS="-Xms6g -Xmx6g"
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_eriklumme


================================================
FILE: calculate_average_faridtmammadov.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#


JAVA_OPTS="--enable-preview"
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_faridtmammadov



================================================
FILE: calculate_average_fatroom.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#


JAVA_OPTS="-server -Xnoclassgc -Xms16G -Xmx16G"
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_fatroom


================================================
FILE: calculate_average_felix19350.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

# ParallelGC test - Time (measured by evaluate2.sh): 00:33.130
# JAVA_OPTS="--enable-preview -XX:+UseParallelGC -XX:+UseTransparentHugePages"

# G1GC test - Time (measured by evaluate2.sh):  00:26.447
# JAVA_OPTS="--enable-preview -XX:+UseG1GC -XX:+UseTransparentHugePages"

# ZGC test - Time (measured by evaluate2.sh): 00:22.813
JAVA_OPTS="--enable-preview -XX:+UseZGC -XX:+UseTransparentHugePages"

# EpsilonGC test - for now doesnt work because heap space gets exhausted
#JAVA_OPTS="--enable-preview -XX:+UnlockExperimentalVMOptions -XX:+UseEpsilonGC -XX:+AlwaysPreTouch"

java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_felix19350


================================================
FILE: calculate_average_filiphr.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

JAVA_OPTS=""
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_filiphr


================================================
FILE: calculate_average_flippingbits.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

JAVA_OPTS="--add-modules=jdk.incubator.vector --enable-preview"
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_flippingbits


================================================
FILE: calculate_average_fragmede.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#


JAVA_OPTS="-Xmx16g"
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_fragmede measurements.txt



================================================
FILE: calculate_average_gabrielfoo.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

JAVA_OPTS="-Xmx64m"
JAVA_OPTS="$JAVA_OPTS -XX:+UnlockExperimentalVMOptions"
JAVA_OPTS="$JAVA_OPTS -XX:+AlwaysPreTouch"
JAVA_OPTS="$JAVA_OPTS -XX:+TrustFinalNonStaticFields -XX:InlineSmallCode=10000"
JAVA_OPTS="$JAVA_OPTS -XX:-TieredCompilation -XX:CICompilerCount=2 -XX:CompileThreshold=1000"
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_gabrielfoo

================================================
FILE: calculate_average_gabrielreid.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#


JAVA_OPTS="--enable-preview --add-modules jdk.incubator.vector"
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_gabrielreid


================================================
FILE: calculate_average_gamlerhart.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

JAVA_OPTS="--enable-preview --add-modules=jdk.incubator.vector -XX:+UnlockExperimentalVMOptions -XX:+UseEpsilonGC -Xmx512m -Xlog:all=error"
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_gamlerhart


================================================
FILE: calculate_average_gauravdeshmukh.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

JAVA_OPTS=""
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_gauravdeshmukh


================================================
FILE: calculate_average_gigiblender.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

JAVA_OPTS="--enable-preview"
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_gigiblender


================================================
FILE: calculate_average_giovannicuccu.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

JAVA_OPTS="--enable-preview --add-modules=jdk.incubator.vector -XX:-TieredCompilation"
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_giovannicuccu


================================================
FILE: calculate_average_gnabyl.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

# Uncomment below to use sdk
# source "$HOME/.sdkman/bin/sdkman-init.sh"
# sdk use java 21.0.1-graal 1>&2

JAVA_OPTS="-XX:+UseStringDeduplication"
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_gnabyl


================================================
FILE: calculate_average_gnmathur.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#


JAVA_OPTS=""
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_gnmathur


================================================
FILE: calculate_average_godofwharf.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

JAVA_OPTS="--enable-preview --add-modules jdk.incubator.vector -DpageSize=262144 -XX:+UseParallelGC -Xms2600m -XX:ParallelGCThreads=8 -XX:Tier4CompileThreshold=1000 -XX:Tier3CompileThreshold=500 -XX:Tier3CompileThreshold=250 -Dthreads=9 -Djava.util.concurrent.ForkJoinPool.common.parallelism=9"
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_godofwharf 2>/dev/null

================================================
FILE: calculate_average_gonix.sh
================================================
#!/bin/bash
#
#  Copyright 2023 The original authors
#
#  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.
#


JAVA_OPTS="--enable-preview"
exec cat < <(exec java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_gonix)


================================================
FILE: calculate_average_gonixunsafe.sh
================================================
#!/bin/bash
#
#  Copyright 2023 The original authors
#
#  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.
#


JAVA_OPTS="--enable-preview"
# Copied from @serkan-ozal
# Unsure if it helps (maybe something within ~10ms),
# but at least it doesn't seem to make anything worse.
JAVA_OPTS="$JAVA_OPTS -XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMOptions"
JAVA_OPTS="$JAVA_OPTS -XX:-TieredCompilation -XX:MaxInlineSize=10000 -XX:InlineSmallCode=10000 -XX:FreqInlineSize=10000"
JAVA_OPTS="$JAVA_OPTS -XX:-UseCountedLoopSafepoints -XX:GuaranteedSafepointInterval=0"
JAVA_OPTS="$JAVA_OPTS -XX:+TrustFinalNonStaticFields -da -dsa -XX:+UseNUMA -XX:-EnableJVMCI"
if [[ ! "$(uname -s)" = "Darwin" ]]; then
  JAVA_OPTS="$JAVA_OPTS -XX:+UseTransparentHugePages"
fi

exec cat < <(exec java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_gonixunsafe)


================================================
FILE: calculate_average_hallvard.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#


JAVA_OPTS=""
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_hallvard


================================================
FILE: calculate_average_hchiorean.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

JAVA_OPTS="-Xms1000M -Xmx16G"
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_hchiorean


================================================
FILE: calculate_average_hundredwatt.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

JAVA_OPTS=""
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_hundredwatt


================================================
FILE: calculate_average_ianopolous.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

JAVA_OPTS="--enable-preview"
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_ianopolous


================================================
FILE: calculate_average_ianopolousfast.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

JAVA_OPTS="--enable-preview --add-modules=jdk.incubator.vector -Djdk.incubator.vector.VECTOR_ACCESS_OOB_CHECK=0 -XX:-UseTransparentHugePages"

java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_ianopolousfast


================================================
FILE: calculate_average_imrafaelmerino.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

JAVA_OPTS="-Xms1024m -Xms1024m -XX:+UseParallelGC -XX:MaxHeapFreeRatio=10 -XX:ParallelGCThreads=2"
CHUNK_SIZE=$((50 * 1024 * 1024))
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar \
dev.morling.onebrc.CalculateAverage_imrafaelmerino $CHUNK_SIZE


================================================
FILE: calculate_average_isolgpus.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#


JAVA_OPTS="--enable-preview"
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_isolgpus


================================================
FILE: calculate_average_itaske.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#


JAVA_OPTS=""
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_itaske


================================================
FILE: calculate_average_ivanklaric.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

JAVA_OPTS=""
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_ivanklaric


================================================
FILE: calculate_average_iziamos.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#


if [ -f target/CalculateAverage_iziamos_image ]; then
    echo "Using graal" 1>&2
    target/CalculateAverage_iziamos_image
else
    echo "Using openjdk" 1>&2
    JAVA_OPTS="--enable-preview
      -XX:+UnlockExperimentalVMOptions \
      -XX:+UseEpsilonGC -Xms16m -Xmx16m -XX:-AlwaysPreTouch \
      -XX:-TieredCompilation -XX:CICompilerCount=1 -XX:CompilationMode=high-only \
      -XX:C1MaxTrivialSize=500 -XX:-UseCountedLoopSafepoints -XX:+UseCMoveUnconditionally -XX:+DisableAttachMechanism \
      -XX:-PreserveFramePointer -Xnoclassgc -disablesystemassertions -XX:-UsePerfData  \
      -XX:-UseTransparentHugePages -XX:-UseCompressedOops"
    java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_iziamos
fi


================================================
FILE: calculate_average_japplis.sh
================================================
#!/bin/bash
#
#  Copyright 2023 The original authors
#
#  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.
#

JAVA_OPTS=""
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_japplis $*


================================================
FILE: calculate_average_jatingala.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

JAVA_OPTS="--enable-preview"
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_jatingala


================================================
FILE: calculate_average_javamak.sh
================================================
#!/bin/sh
#
#  Copyright 2023 The original authors
#
#  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.
#

JAVA_OPTS="-Xmx25G -Xms15G -XX:+UseParallelGC"
java $JAVA_OPTS --class-path target/average-1.0.0-SNAPSHOT.jar dev.morling.onebrc.CalculateAverage_javamak


================================================
FILE: calculate_average_jbachorik.sh
================================================
#!/bin/sh
#
#  Copyright 2023
Download .txt
gitextract_ytom6d3p/

├── .gitattributes
├── .github/
│   ├── pull_request_template.md
│   └── workflows/
│       └── maven.yml
├── .gitignore
├── .mvn/
│   └── wrapper/
│       ├── maven-wrapper.jar
│       └── maven-wrapper.properties
├── .sdkmanrc
├── ENVIRONMENT.md
├── LICENSE.txt
├── README.md
├── calculate_average_0xshivamagarwal.sh
├── calculate_average_3j5a.sh
├── calculate_average_AbstractKamen.sh
├── calculate_average_AlexanderYastrebov.sh
├── calculate_average_C5H12O5.sh
├── calculate_average_ChrisBellew.sh
├── calculate_average_EduardoSaverin.sh
├── calculate_average_JaimePolidura.sh
├── calculate_average_JamalMulla.sh
├── calculate_average_JesseVanRooy.sh
├── calculate_average_Judekeyser.sh
├── calculate_average_JurenIvan.sh
├── calculate_average_Kidlike.sh
├── calculate_average_MahmoudFawzyKhalil.sh
├── calculate_average_MeanderingProgrammer.sh
├── calculate_average_PanagiotisDrakatos.sh
├── calculate_average_PawelAdamski.sh
├── calculate_average_SamuelYvon.sh
├── calculate_average_Smoofie.sh
├── calculate_average_Ujjwalbharti.sh
├── calculate_average_YannMoisan.sh
├── calculate_average_abeobk.sh
├── calculate_average_abfrmblr.sh
├── calculate_average_adriacabeza.sh
├── calculate_average_agoncal.sh
├── calculate_average_ags313.sh
├── calculate_average_albertoventurini.sh
├── calculate_average_alesj.sh
├── calculate_average_algirdasrascius.sh
├── calculate_average_anandmattikopp.sh
├── calculate_average_anestoruk.sh
├── calculate_average_anitasv.sh
├── calculate_average_arjenvaneerde.sh
├── calculate_average_arjenw.sh
├── calculate_average_armandino.sh
├── calculate_average_artpar.sh
├── calculate_average_artsiomkorzun.sh
├── calculate_average_as-com.sh
├── calculate_average_baseline.sh
├── calculate_average_baseline_original_rounding.sh
├── calculate_average_berry120.sh
├── calculate_average_bjhara.sh
├── calculate_average_breejesh.sh
├── calculate_average_bytesfellow.sh
├── calculate_average_cb0s.sh
├── calculate_average_charlibot.sh
├── calculate_average_cliffclick.sh
├── calculate_average_coolmineman.sh
├── calculate_average_couragelee.sh
├── calculate_average_criccomini.sh
├── calculate_average_davecom.sh
├── calculate_average_davery22.sh
├── calculate_average_ddimtirov.sh
├── calculate_average_deemkeen.sh
├── calculate_average_dkarampi.sh
├── calculate_average_dmitry-midokura.sh
├── calculate_average_dpsoft.sh
├── calculate_average_dqhieuu.sh
├── calculate_average_ebarlas.sh
├── calculate_average_elh.sh
├── calculate_average_entangled90.sh
├── calculate_average_eriklumme.sh
├── calculate_average_faridtmammadov.sh
├── calculate_average_fatroom.sh
├── calculate_average_felix19350.sh
├── calculate_average_filiphr.sh
├── calculate_average_flippingbits.sh
├── calculate_average_fragmede.sh
├── calculate_average_gabrielfoo.sh
├── calculate_average_gabrielreid.sh
├── calculate_average_gamlerhart.sh
├── calculate_average_gauravdeshmukh.sh
├── calculate_average_gigiblender.sh
├── calculate_average_giovannicuccu.sh
├── calculate_average_gnabyl.sh
├── calculate_average_gnmathur.sh
├── calculate_average_godofwharf.sh
├── calculate_average_gonix.sh
├── calculate_average_gonixunsafe.sh
├── calculate_average_hallvard.sh
├── calculate_average_hchiorean.sh
├── calculate_average_hundredwatt.sh
├── calculate_average_ianopolous.sh
├── calculate_average_ianopolousfast.sh
├── calculate_average_imrafaelmerino.sh
├── calculate_average_isolgpus.sh
├── calculate_average_itaske.sh
├── calculate_average_ivanklaric.sh
├── calculate_average_iziamos.sh
├── calculate_average_japplis.sh
├── calculate_average_jatingala.sh
├── calculate_average_javamak.sh
├── calculate_average_jbachorik.sh
├── calculate_average_jeevjyot.sh
├── calculate_average_jerrinot.sh
├── calculate_average_jgrateron.sh
├── calculate_average_jincongho.sh
├── calculate_average_jonathan-aotearoa.sh
├── calculate_average_jotschi.sh
├── calculate_average_jparera.sh
├── calculate_average_justplainlaake.sh
├── calculate_average_karthikeyan97.sh
├── calculate_average_kevinmcmurtrie.sh
├── calculate_average_kgeri.sh
├── calculate_average_khmarbaise.sh
├── calculate_average_kuduwa-keshavram.sh
├── calculate_average_kumarsaurav123.sh
├── calculate_average_lawrey.sh
├── calculate_average_linl33.sh
├── calculate_average_maeda6uiui.sh
├── calculate_average_mahadev-k.sh
├── calculate_average_makohn.sh
├── calculate_average_manishgarg90.sh
├── calculate_average_martin2038.sh
├── calculate_average_mattiz.sh
├── calculate_average_maximz101.sh
├── calculate_average_melgenek.sh
├── calculate_average_merykitty.sh
├── calculate_average_merykittyunsafe.sh
├── calculate_average_moysesb.sh
├── calculate_average_mtopolnik.sh
├── calculate_average_mudit-saxena.sh
├── calculate_average_netrunnereve.sh
├── calculate_average_obourgain.sh
├── calculate_average_omarchenko4j.sh
├── calculate_average_padreati.sh
├── calculate_average_palmr.sh
├── calculate_average_parkertimmins.sh
├── calculate_average_pedestrianlove.sh
├── calculate_average_phd3.sh
├── calculate_average_plbpietrz.sh
├── calculate_average_plevart.sh
├── calculate_average_raipc.sh
├── calculate_average_rby.sh
├── calculate_average_rcasteltrione.sh
├── calculate_average_ricardopieper.sh
├── calculate_average_richardstartin.sh
├── calculate_average_roman-r-m.sh
├── calculate_average_royvanrijn.sh
├── calculate_average_rprabhu.sh
├── calculate_average_santanu.sh
├── calculate_average_seijikun.sh
├── calculate_average_semotpan.sh
├── calculate_average_serkan-ozal.sh
├── calculate_average_shipilev.sh
├── calculate_average_slovdahl.sh
├── calculate_average_spullara.sh
├── calculate_average_stephenvonworley.sh
├── calculate_average_sudhirtumati.sh
├── calculate_average_thanhtrinity.sh
├── calculate_average_thomaswue.sh
├── calculate_average_tivrfoa.sh
├── calculate_average_tkosachev.sh
├── calculate_average_tonivade.sh
├── calculate_average_truelive.sh
├── calculate_average_twobiers.sh
├── calculate_average_unbounded.sh
├── calculate_average_vaidhy.sh
├── calculate_average_vemana.sh
├── calculate_average_vemanaNonIdiomatic.sh
├── calculate_average_xpmatteo.sh
├── calculate_average_yavuztas.sh
├── calculate_average_yehwankim23.sh
├── calculate_average_yemreinci.sh
├── calculate_average_yonatang.sh
├── calculate_average_yourwass.sh
├── calculate_average_zerninv.sh
├── checkout.sh
├── cleanup.sh
├── create_fork.sh
├── create_measurements.sh
├── create_measurements2.sh
├── create_measurements3.sh
├── create_measurements_fast.sh
├── data/
│   └── weather_stations.csv
├── etc/
│   ├── eclipse-formatter-config.xml
│   └── license.txt
├── evaluate.sh
├── evaluate_10K.sh
├── github_users.txt
├── mvnw
├── mvnw.cmd
├── pom.xml
├── prepare_3j5a.sh
├── prepare_AlexanderYastrebov.sh
├── prepare_C5H12O5.sh
├── prepare_EduardoSaverin.sh
├── prepare_JaimePolidura.sh
├── prepare_JamalMulla.sh
├── prepare_Judekeyser.sh
├── prepare_Kidlike.sh
├── prepare_MeanderingProgrammer.sh
├── prepare_PanagiotisDrakatos.sh
├── prepare_PawelAdamski.sh
├── prepare_SamuelYvon.sh
├── prepare_Smoofie.sh
├── prepare_YannMoisan.sh
├── prepare_abeobk.sh
├── prepare_adriacabeza.sh
├── prepare_agoncal.sh
├── prepare_ags313.sh
├── prepare_anitasv.sh
├── prepare_armandino.sh
├── prepare_artsiomkorzun.sh
├── prepare_baseline.sh
├── prepare_breejesh.sh
├── prepare_cb0s.sh
├── prepare_charlibot.sh
├── prepare_chrisbellew.sh
├── prepare_coolmineman.sh
├── prepare_davecom.sh
├── prepare_ddimtirov.sh
├── prepare_dpsoft.sh
├── prepare_dqhieuu.sh
├── prepare_ebarlas.sh
├── prepare_elh.sh
├── prepare_eriklumme.sh
├── prepare_filiphr.sh
├── prepare_flippingbits.sh
├── prepare_gabrielfoo.sh
├── prepare_gnabyl.sh
├── prepare_godofwharf.sh
├── prepare_hundredwatt.sh
├── prepare_imrafaelmerino.sh
├── prepare_iziamos.sh
├── prepare_jatingala.sh
├── prepare_jbachorik.sh
├── prepare_jerrinot.sh
├── prepare_jonathan-aotearoa.sh
├── prepare_justplainlaake.sh
├── prepare_kuduwa-keshavram.sh
├── prepare_linl33.sh
├── prepare_mahadev-k.sh
├── prepare_manishgarg90.sh
├── prepare_martin2038.sh
├── prepare_maximz101.sh
├── prepare_melgenek.sh
├── prepare_mtopolnik.sh
├── prepare_phd3.sh
├── prepare_plevart.sh
├── prepare_rcasteltrione.sh
├── prepare_ricardopieper.sh
├── prepare_roman-r-m.sh
├── prepare_royvanrijn.sh
├── prepare_seijikun.sh
├── prepare_serkan-ozal.sh
├── prepare_slovdahl.sh
├── prepare_spullara.sh
├── prepare_stephenvonworley.sh
├── prepare_sudhirtumati.sh
├── prepare_thanhtrinity.sh
├── prepare_thomaswue.sh
├── prepare_tivrfoa.sh
├── prepare_tonivade.sh
├── prepare_truelive.sh
├── prepare_twobiers.sh
├── prepare_vaidhy.sh
├── prepare_vemana.sh
├── prepare_vemanaNonIdiomatic.sh
├── prepare_yavuztas.sh
├── prepare_yonatang.sh
├── prepare_zerninv.sh
├── process.sh
├── process_output.java
├── src/
│   ├── main/
│   │   ├── go/
│   │   │   ├── AlexanderYastrebov/
│   │   │   │   ├── Dockerfile
│   │   │   │   ├── README.md
│   │   │   │   ├── calc.go
│   │   │   │   ├── calc_test.go
│   │   │   │   └── go.mod
│   │   │   └── elh/
│   │   │       ├── Dockerfile
│   │   │       ├── go.mod
│   │   │       └── main.go
│   │   ├── java/
│   │   │   ├── dev/
│   │   │   │   └── morling/
│   │   │   │       └── onebrc/
│   │   │   │           ├── CalculateAverage_0xshivamagarwal.java
│   │   │   │           ├── CalculateAverage_3j5a.java
│   │   │   │           ├── CalculateAverage_AbstractKamen.java
│   │   │   │           ├── CalculateAverage_C5H12O5.java
│   │   │   │           ├── CalculateAverage_EduardoSaverin.java
│   │   │   │           ├── CalculateAverage_JaimePolidura.java
│   │   │   │           ├── CalculateAverage_JamalMulla.java
│   │   │   │           ├── CalculateAverage_JesseVanRooy.java
│   │   │   │           ├── CalculateAverage_Judekeyser.java
│   │   │   │           ├── CalculateAverage_JurenIvan.java
│   │   │   │           ├── CalculateAverage_Kidlike.java
│   │   │   │           ├── CalculateAverage_MahmoudFawzyKhalil.java
│   │   │   │           ├── CalculateAverage_MeanderingProgrammer.java
│   │   │   │           ├── CalculateAverage_PanagiotisDrakatos.java
│   │   │   │           ├── CalculateAverage_PawelAdamski.java
│   │   │   │           ├── CalculateAverage_SamuelYvon.java
│   │   │   │           ├── CalculateAverage_Smoofie.java
│   │   │   │           ├── CalculateAverage_Ujjwalbharti.java
│   │   │   │           ├── CalculateAverage_YannMoisan.java
│   │   │   │           ├── CalculateAverage_abeobk.java
│   │   │   │           ├── CalculateAverage_abfrmblr.java
│   │   │   │           ├── CalculateAverage_adriacabeza.java
│   │   │   │           ├── CalculateAverage_agoncal.java
│   │   │   │           ├── CalculateAverage_ags313.java
│   │   │   │           ├── CalculateAverage_albertoventurini.java
│   │   │   │           ├── CalculateAverage_alesj.java
│   │   │   │           ├── CalculateAverage_algirdasrascius.java
│   │   │   │           ├── CalculateAverage_anandmattikopp.java
│   │   │   │           ├── CalculateAverage_anestoruk.java
│   │   │   │           ├── CalculateAverage_anitasv.java
│   │   │   │           ├── CalculateAverage_arjenvaneerde.java
│   │   │   │           ├── CalculateAverage_arjenw.java
│   │   │   │           ├── CalculateAverage_armandino.java
│   │   │   │           ├── CalculateAverage_artpar.java
│   │   │   │           ├── CalculateAverage_artsiomkorzun.java
│   │   │   │           ├── CalculateAverage_as-com.java
│   │   │   │           ├── CalculateAverage_baseline.java
│   │   │   │           ├── CalculateAverage_baseline_original_rounding.java
│   │   │   │           ├── CalculateAverage_berry120.java
│   │   │   │           ├── CalculateAverage_bjhara.java
│   │   │   │           ├── CalculateAverage_breejesh.java
│   │   │   │           ├── CalculateAverage_bufistov.java
│   │   │   │           ├── CalculateAverage_bytesfellow.java
│   │   │   │           ├── CalculateAverage_cb0s.java
│   │   │   │           ├── CalculateAverage_charlibot.java
│   │   │   │           ├── CalculateAverage_chrisbellew.java
│   │   │   │           ├── CalculateAverage_cliffclick.java
│   │   │   │           ├── CalculateAverage_coolmineman.java
│   │   │   │           ├── CalculateAverage_couragelee.java
│   │   │   │           ├── CalculateAverage_criccomini.java
│   │   │   │           ├── CalculateAverage_davecom.java
│   │   │   │           ├── CalculateAverage_davery22.java
│   │   │   │           ├── CalculateAverage_ddimtirov.java
│   │   │   │           ├── CalculateAverage_deemkeen.java
│   │   │   │           ├── CalculateAverage_dkarampi.java
│   │   │   │           ├── CalculateAverage_dpsoft.java
│   │   │   │           ├── CalculateAverage_dqhieuu.java
│   │   │   │           ├── CalculateAverage_ebarlas.java
│   │   │   │           ├── CalculateAverage_entangled90.java
│   │   │   │           ├── CalculateAverage_eriklumme.java
│   │   │   │           ├── CalculateAverage_faridtmammadov.java
│   │   │   │           ├── CalculateAverage_fatroom.java
│   │   │   │           ├── CalculateAverage_felix19350.java
│   │   │   │           ├── CalculateAverage_filiphr.java
│   │   │   │           ├── CalculateAverage_flippingbits.java
│   │   │   │           ├── CalculateAverage_fragmede.java
│   │   │   │           ├── CalculateAverage_gabrielfoo.java
│   │   │   │           ├── CalculateAverage_gabrielreid.java
│   │   │   │           ├── CalculateAverage_gamlerhart.java
│   │   │   │           ├── CalculateAverage_gauravdeshmukh.java
│   │   │   │           ├── CalculateAverage_gigiblender.java
│   │   │   │           ├── CalculateAverage_giovannicuccu.java
│   │   │   │           ├── CalculateAverage_gnabyl.java
│   │   │   │           ├── CalculateAverage_gnmathur.java
│   │   │   │           ├── CalculateAverage_godofwharf.java
│   │   │   │           ├── CalculateAverage_gonix.java
│   │   │   │           ├── CalculateAverage_gonixunsafe.java
│   │   │   │           ├── CalculateAverage_hallvard.java
│   │   │   │           ├── CalculateAverage_hchiorean.java
│   │   │   │           ├── CalculateAverage_hundredwatt.java
│   │   │   │           ├── CalculateAverage_ianopolous.java
│   │   │   │           ├── CalculateAverage_ianopolousfast.java
│   │   │   │           ├── CalculateAverage_imrafaelmerino.java
│   │   │   │           ├── CalculateAverage_isolgpus.java
│   │   │   │           ├── CalculateAverage_itaske.java
│   │   │   │           ├── CalculateAverage_ivanklaric.java
│   │   │   │           ├── CalculateAverage_iziamos.java
│   │   │   │           ├── CalculateAverage_japplis.java
│   │   │   │           ├── CalculateAverage_jatingala.java
│   │   │   │           ├── CalculateAverage_javamak.java
│   │   │   │           ├── CalculateAverage_jbachorik.java
│   │   │   │           ├── CalculateAverage_jeevjyot.java
│   │   │   │           ├── CalculateAverage_jerrinot.java
│   │   │   │           ├── CalculateAverage_jgrateron.java
│   │   │   │           ├── CalculateAverage_jincongho.java
│   │   │   │           ├── CalculateAverage_jonathanaotearoa.java
│   │   │   │           ├── CalculateAverage_jotschi.java
│   │   │   │           ├── CalculateAverage_jparera.java
│   │   │   │           ├── CalculateAverage_justplainlaake.java
│   │   │   │           ├── CalculateAverage_karthikeyan97.java
│   │   │   │           ├── CalculateAverage_kevinmcmurtrie.java
│   │   │   │           ├── CalculateAverage_kgeri.java
│   │   │   │           ├── CalculateAverage_khmarbaise.java
│   │   │   │           ├── CalculateAverage_kuduwa_keshavram.java
│   │   │   │           ├── CalculateAverage_kumarsaurav123.java
│   │   │   │           ├── CalculateAverage_lawrey.java
│   │   │   │           ├── CalculateAverage_maeda6uiui.java
│   │   │   │           ├── CalculateAverage_mahadev_k.java
│   │   │   │           ├── CalculateAverage_makohn.java
│   │   │   │           ├── CalculateAverage_manishgarg90.java
│   │   │   │           ├── CalculateAverage_martin2038.java
│   │   │   │           ├── CalculateAverage_mattiz.java
│   │   │   │           ├── CalculateAverage_maximz101.java
│   │   │   │           ├── CalculateAverage_melgenek.java
│   │   │   │           ├── CalculateAverage_merykitty.java
│   │   │   │           ├── CalculateAverage_merykittyunsafe.java
│   │   │   │           ├── CalculateAverage_moysesb.java
│   │   │   │           ├── CalculateAverage_mtopolnik.java
│   │   │   │           ├── CalculateAverage_muditsaxena.java
│   │   │   │           ├── CalculateAverage_naive.java
│   │   │   │           ├── CalculateAverage_netrunnereve.java
│   │   │   │           ├── CalculateAverage_obourgain.java
│   │   │   │           ├── CalculateAverage_omarchenko4j.java
│   │   │   │           ├── CalculateAverage_padreati.java
│   │   │   │           ├── CalculateAverage_palmr.java
│   │   │   │           ├── CalculateAverage_parkertimmins.java
│   │   │   │           ├── CalculateAverage_pedestrianlove.java
│   │   │   │           ├── CalculateAverage_phd3.java
│   │   │   │           ├── CalculateAverage_plbpietrz.java
│   │   │   │           ├── CalculateAverage_plevart.java
│   │   │   │           ├── CalculateAverage_raipc.java
│   │   │   │           ├── CalculateAverage_rby.java
│   │   │   │           ├── CalculateAverage_rcasteltrione.java
│   │   │   │           ├── CalculateAverage_ricardopieper.java
│   │   │   │           ├── CalculateAverage_richardstartin.java
│   │   │   │           ├── CalculateAverage_roman_r_m.java
│   │   │   │           ├── CalculateAverage_royvanrijn.java
│   │   │   │           ├── CalculateAverage_rprabhu.java
│   │   │   │           ├── CalculateAverage_santanu.java
│   │   │   │           ├── CalculateAverage_seijikun.java
│   │   │   │           ├── CalculateAverage_semotpan.java
│   │   │   │           ├── CalculateAverage_serkan_ozal.java
│   │   │   │           ├── CalculateAverage_shipilev.java
│   │   │   │           ├── CalculateAverage_slovdahl.java
│   │   │   │           ├── CalculateAverage_spullara.java
│   │   │   │           ├── CalculateAverage_stephenvonworley.java
│   │   │   │           ├── CalculateAverage_sudhirtumati.java
│   │   │   │           ├── CalculateAverage_thanhtrinity.java
│   │   │   │           ├── CalculateAverage_thomaswue.java
│   │   │   │           ├── CalculateAverage_tivrfoa.java
│   │   │   │           ├── CalculateAverage_tkosachev.java
│   │   │   │           ├── CalculateAverage_tonivade.java
│   │   │   │           ├── CalculateAverage_truelive.java
│   │   │   │           ├── CalculateAverage_twobiers.java
│   │   │   │           ├── CalculateAverage_unbounded.java
│   │   │   │           ├── CalculateAverage_vaidhy.java
│   │   │   │           ├── CalculateAverage_vemana.java
│   │   │   │           ├── CalculateAverage_vemanaNonIdiomatic.java
│   │   │   │           ├── CalculateAverage_xpmatteo.java
│   │   │   │           ├── CalculateAverage_yavuztas.java
│   │   │   │           ├── CalculateAverage_yehwankim23.java
│   │   │   │           ├── CalculateAverage_yemreinci.java
│   │   │   │           ├── CalculateAverage_yonatang.java
│   │   │   │           ├── CalculateAverage_yourwass.java
│   │   │   │           ├── CalculateAverage_zerninv.java
│   │   │   │           ├── CreateMeasurements.java
│   │   │   │           ├── CreateMeasurements2.java
│   │   │   │           ├── CreateMeasurements3.java
│   │   │   │           ├── CreateMeasurementsFast.java
│   │   │   │           └── PerfectHashSearch_hundredwatt.java
│   │   │   └── org/
│   │   │       └── rschwietzke/
│   │   │           ├── CheaperCharBuffer.java
│   │   │           └── FastRandom.java
│   │   ├── java-22/
│   │   │   └── dev/
│   │   │       └── morling/
│   │   │           └── onebrc/
│   │   │               └── CalculateAverage_linl33.java
│   │   ├── python/
│   │   │   └── create_measurements.py
│   │   └── resources/
│   │       └── .dontdelete
│   └── test/
│       └── resources/
│           ├── .dontdelete
│           └── samples/
│               ├── measurements-1.out
│               ├── measurements-1.txt
│               ├── measurements-10.out
│               ├── measurements-10.txt
│               ├── measurements-10000-unique-keys.out
│               ├── measurements-10000-unique-keys.txt
│               ├── measurements-2.out
│               ├── measurements-2.txt
│               ├── measurements-20.out
│               ├── measurements-20.txt
│               ├── measurements-3.out
│               ├── measurements-3.txt
│               ├── measurements-boundaries.out
│               ├── measurements-boundaries.txt
│               ├── measurements-complex-utf8.out
│               ├── measurements-complex-utf8.txt
│               ├── measurements-dot.out
│               ├── measurements-dot.txt
│               ├── measurements-rounding.out
│               ├── measurements-rounding.txt
│               ├── measurements-short.out
│               ├── measurements-short.txt
│               ├── measurements-shortest.out
│               └── measurements-shortest.txt
├── test.sh
├── test_all.sh
├── test_ci.sh
└── tocsv.sh
Download .txt
Showing preview only (282K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (3311 symbols across 178 files)

FILE: process_output.java
  class process_output (line 25) | public class process_output {
    method main (line 27) | public static void main(String... args) throws Exception {

FILE: src/main/go/AlexanderYastrebov/calc.go
  type measurement (line 15) | type measurement struct
  function main (line 19) | func main() {
  function processFile (line 43) | func processFile(filename string) map[string]*measurement {
  function process (line 74) | func process(data []byte) map[string]*measurement {
  function processChunk (line 132) | func processChunk(data []byte) map[string]*measurement {
  function round (line 241) | func round(x float64) float64 {
  function roundJava (line 247) | func roundJava(x float64) float64 {
  function parseNumber (line 263) | func parseNumber(data []byte) int64 {

FILE: src/main/go/AlexanderYastrebov/calc_test.go
  function TestRoundJava (line 9) | func TestRoundJava(t *testing.T) {
  function TestParseNumber (line 32) | func TestParseNumber(t *testing.T) {
  function BenchmarkParseNumber (line 54) | func BenchmarkParseNumber(b *testing.B) {
  function BenchmarkProcess (line 63) | func BenchmarkProcess(b *testing.B) {

FILE: src/main/go/elh/main.go
  constant defaultMeasurementsPath (line 37) | defaultMeasurementsPath = "measurements.txt"
  constant maxNameLen (line 38) | maxNameLen              = 100
  constant maxNameNum (line 39) | maxNameNum              = 10000
  constant defaultParseChunkSizeMB (line 42) | defaultParseChunkSizeMB = 64
  constant mb (line 43) | mb                      = 1024 * 1024
  type Stats (line 46) | type Stats struct
  function round (line 52) | func round(x float64) float64 {
  function parseFloatFast (line 58) | func parseFloatFast(bs []byte) float64 {
  function parseAt (line 80) | func parseAt(f *os.File, buf []byte, offset int64, size int) map[string]...
  function printResults (line 157) | func printResults(stats map[string]*Stats) { // doesn't help
  function main (line 184) | func main() {

FILE: src/main/java-22/dev/morling/onebrc/CalculateAverage_linl33.java
  class CalculateAverage_linl33 (line 34) | public class CalculateAverage_linl33 {
    method main (line 67) | public static void main() throws InterruptedException, IOException {
    method calcChunkBounds (line 94) | private static long[] calcChunkBounds(final long mappedAddr, final lon...
    method printSorted (line 107) | private static void printSorted(final HashTable temperatureMeasurement...
    method printAggMeasurement (line 132) | private static void printAggMeasurement(final AggregatedMeasurement ag...
    method printAsDouble (line 154) | private static void printAsDouble(final long addr) {
    method round (line 159) | private static double round(final double d) {
    class CalculateAverageTask (line 163) | private static class CalculateAverageTask implements Runnable {
      method CalculateAverageTask (line 174) | public CalculateAverageTask(HashTable[] maps, long[] chunkBounds, in...
      method run (line 182) | @Override
      method processTrailingBytes (line 219) | private void processTrailingBytes(long lineStart,
      method processLine (line 233) | private void processLine(final long lineStart, final long lfAddress) {
    class HashTable (line 276) | private static class HashTable {
      method HashTable (line 289) | public HashTable() {
      method getOffset (line 300) | public long getOffset(final long index) {
      method putEntry (line 304) | public void putEntry(final long keyAddress, final int keyLength, fin...
      method putEntryInternal (line 309) | private void putEntryInternal(final long hash,
      method merge (line 351) | public void merge(final HashTable other) {
      method add (line 371) | private void add(final long sparseOffset,
      method mismatch (line 390) | private static boolean mismatch(final long leftAddr, final long righ...
      method hash (line 414) | private static long hash(final long keyAddress, final int keyLength) {
      method truncateHash (line 429) | private static long truncateHash(final long hash) {
    class MallocArena (line 434) | private static class MallocArena implements Arena {
      method MallocArena (line 455) | public MallocArena(Arena arena) {
      method allocate (line 459) | @Override
      method scope (line 464) | @Override
      method close (line 469) | @Override
      method malloc (line 474) | private static MemorySegment malloc(final long byteSize) {
      method free (line 483) | protected static void free(final MemorySegment address) {
    class CallocArena (line 493) | private static class CallocArena extends MallocArena {
      method CallocArena (line 494) | public CallocArena(Arena arena) {
      method allocate (line 498) | @Override
      method calloc (line 503) | private static MemorySegment calloc(final long byteSize) {
    method compareTo (line 515) | @Override

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_0xshivamagarwal.java
  class CalculateAverage_0xshivamagarwal (line 31) | public class CalculateAverage_0xshivamagarwal {
    method mergeFn (line 39) | private static long[] mergeFn(final long[] v1, final long[] v2) {
    method toString (line 47) | private static String toString(final Map.Entry<String, long[]> entry) {
    method parseData (line 59) | private static Map<String, long[]> parseData(
    method main (line 100) | public static void main(String[] args) throws IOException {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_3j5a.java
  class CalculateAverage_3j5a (line 34) | public class CalculateAverage_3j5a {
    method main (line 38) | public static void main(String[] args) throws IOException {
    method Rules (line 80) | Rules() {
    class Station (line 90) | static class Station {
      method Station (line 111) | Station(byte[] name, int length) {
      method detachFromMeasurementBuffer (line 116) | public void detachFromMeasurementBuffer() {
      method equals (line 122) | @Override
      method hashCode (line 127) | @Override
    class StationMeasurementStatistics (line 145) | private static class StationMeasurementStatistics {
      method StationMeasurementStatistics (line 154) | StationMeasurementStatistics(StationMeasurement stationMeasurement) {
      method getName (line 161) | public String getName() {
      method add (line 168) | void add(StationMeasurement measurement) {
      method merge (line 173) | void merge(StationMeasurementStatistics other) {
      method update (line 177) | private void update(int count, int min, int max, long sum) {
      method toString (line 188) | @Override
    method nextStationMeasurement (line 200) | private static StationMeasurement nextStationMeasurement(byte[] measur...
    method map (line 224) | private static MappedByteBuffer map(MeasurementsSlice slice, FileChann...
    method slice (line 233) | private static List<MeasurementsSlice> slice(RandomAccessFile measurem...
    method slice (line 242) | private static List<MeasurementsSlice> slice(RandomAccessFile measurem...

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_AbstractKamen.java
  class CalculateAverage_AbstractKamen (line 33) | public class CalculateAverage_AbstractKamen {
    class Measurement (line 37) | private static class Measurement {
      method toString (line 43) | public String toString() {
      method round (line 47) | private double round(double value) {
    method main (line 52) | public static void main(String[] args) throws IOException {
    method aggregateMeasurements (line 67) | private static Measurement aggregateMeasurements(Measurement src, Meas...
    method getMeasurements (line 75) | private static Map<String, Measurement> getMeasurements(BufferSupplier...
    method parseAsInt (line 106) | private static int parseAsInt(int valueLen, byte[] bytes) {
    method takeMeasurement (line 116) | private static void takeMeasurement(int temperature, Map<String, Measu...
    method getParallelBufferStream (line 134) | private static Stream<BufferSupplier> getParallelBufferStream(RandomAc...
  type BufferSupplier (line 148) | interface BufferSupplier extends Supplier<ByteBuffer> {
  class BufferSupplierIterator (line 151) | class BufferSupplierIterator implements Iterator<BufferSupplier> {
    method BufferSupplierIterator (line 158) | public BufferSupplierIterator(RandomAccessFile raf, FileChannel fc, in...
    method hasNext (line 165) | @Override
    method next (line 170) | @Override
    method getEnd (line 188) | private long getEnd() throws IOException {
    method getBufferSupplier (line 198) | private BufferSupplier getBufferSupplier(long position, long end) {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_C5H12O5.java
  class CalculateAverage_C5H12O5 (line 60) | @SuppressWarnings("unchecked")
    method fragment (line 70) | private static long[] fragment(Path path) throws IOException {
    method main (line 95) | public static void main(String[] args) throws Exception {
    class Calculator (line 124) | private static class Calculator implements Callable<Map<Station, Measu...
      method Calculator (line 130) | public Calculator(Path file, long position, long limit) throws IOExc...
      method call (line 137) | @Override
      method transfer (line 182) | private void transfer(byte[] bytes) {
      method process (line 199) | private Map<Station, MeasurementData> process() throws InterruptedEx...
    type LineFinder (line 261) | private interface LineFinder {
      method initUnsafe (line 269) | static Unsafe initUnsafe() {
      method previousLong (line 280) | static long previousLong(byte[] bytes, long offset) {
      method markHighestBit (line 287) | static long markHighestBit(long longBytes) {
      method fromRight (line 295) | int fromRight(long longBytes);
      method clearLeft (line 300) | long clearLeft(long longBytes, int keepNum);
      type LELineFinder (line 302) | enum LELineFinder implements LineFinder {
        method fromRight (line 313) | @Override
        method clearLeft (line 318) | @Override
      type BELineFinder (line 324) | enum BELineFinder implements LineFinder {
        method fromRight (line 335) | @Override
        method clearLeft (line 340) | @Override
    class Station (line 350) | private static class Station {
      method Station (line 356) | public Station(byte[] bytes) {
      method Station (line 360) | public Station(byte[] bytes, int hash, int from, int to) {
      method slice (line 365) | public Station slice(int hash, int from, int to) {
      method copy (line 372) | public Station copy() {
      method equals (line 379) | @Override
      method hashCode (line 385) | @Override
    class MeasurementData (line 394) | private static class MeasurementData {
      method MeasurementData (line 400) | public MeasurementData(int value) {
      method merge (line 407) | public MeasurementData merge(int value) {
      method merge (line 411) | public MeasurementData merge(MeasurementData other) {
      method merge (line 415) | public MeasurementData merge(int min, int max, long sum, int count) {
      method toString (line 423) | @Override

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_EduardoSaverin.java
  class CalculateAverage_EduardoSaverin (line 34) | public class CalculateAverage_EduardoSaverin {
    method initUnsafe (line 43) | private static Unsafe initUnsafe() {
    class ResultRow (line 60) | private static final class ResultRow {
      method ResultRow (line 66) | private ResultRow(double v) {
      method toString (line 73) | public String toString() {
      method round (line 77) | private double round(double value) {
    method getChunks (line 89) | static List<Chunk> getChunks(FileChannel fileChannel) throws IOExcepti...
    class SimplerHashMap (line 115) | static class SimplerHashMap {
      method putOrMerge (line 120) | public void putOrMerge(final byte[] key, final short length, final i...
      method unsafeEquals (line 145) | static boolean unsafeEquals(final byte[] a, final byte[] b, final sh...
      method getAll (line 195) | public List<MapEntry> getAll() {
    class Task (line 207) | private static class Task implements Runnable {
      method Task (line 212) | public Task(Chunk chunk) {
      method run (line 217) | @Override
    method main (line 304) | public static void main(String[] args) throws IOException, Interrupted...

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_JaimePolidura.java
  class CalculateAverage_JaimePolidura (line 28) | public final class CalculateAverage_JaimePolidura {
    method initUnsafe (line 33) | private static Unsafe initUnsafe() {
    method main (line 44) | public static void main(String[] args) throws Exception {
    method joinWorkers (line 54) | private static void joinWorkers(Worker[] workers) throws InterruptedEx...
    method startWorkers (line 60) | private static void startWorkers(Worker[] workers) {
    method createWorkers (line 66) | private static Worker[] createWorkers() throws Exception {
    method mergeWorkersResults (line 87) | private static Map<String, Result> mergeWorkersResults(Worker[] worker...
    method printResults (line 113) | private static void printResults(Map<String, Result> results) {
    class Worker (line 138) | static class Worker extends Thread {
      method Worker (line 150) | public Worker(MemorySegment mmappedFile, long mmappedFileSize, long ...
      method run (line 161) | @Override
      method parseTemperature (line 181) | private void parseTemperature() {
      method parseName (line 229) | private void parseName() {
      method mask (line 268) | private long mask(long word, int length) {
      method hasByte (line 273) | private long hasByte(long word, long pattern) {
      method adjustStartAddr (line 278) | private void adjustStartAddr() {
      method adjustEndAddr (line 290) | private void adjustEndAddr() {
    class SimpleMap (line 302) | static class SimpleMap {
      method SimpleMap (line 306) | public SimpleMap(int size) {
      method put (line 311) | public void put(long hashToPut, byte[] nameToPut, int nameLength, in...
      method toIndex (line 337) | private int toIndex(long hash) {
    class Result (line 342) | static class Result {
      method Result (line 351) | public Result(long hash, byte[] name, int nameLength, int max, int m...
      method isSameName (line 361) | public boolean isSameName(byte[] otherNameBytes, int otherNameLength) {
      method isSameNameBytes (line 365) | private boolean isSameNameBytes(byte[] otherNameBytes) {
    method round (line 383) | private static double round(double value) {
    method roundUpToPowerOfTwo (line 387) | private static int roundUpToPowerOfTwo(int number) {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_JamalMulla.java
  class CalculateAverage_JamalMulla (line 31) | public class CalculateAverage_JamalMulla {
    method initUnsafe (line 51) | private static Unsafe initUnsafe() {
    class ResultRow (line 62) | private static final class ResultRow {
      method ResultRow (line 70) | private ResultRow(int v, final long keyStart, final byte keyLength) {
      method toString (line 79) | public String toString() {
      method round (line 83) | private double round(double value) {
    method getChunks (line 92) | static Chunk[] getChunks(int numThreads, FileChannel channel) throws I...
    method run (line 115) | private static void run(Chunk chunk) {
    method unsafeEquals (line 245) | static boolean unsafeEquals(final long a_address, final long b_address...
    method main (line 258) | public static void main(String[] args) throws IOException, Interrupted...

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_JesseVanRooy.java
  class CalculateAverage_JesseVanRooy (line 32) | public class CalculateAverage_JesseVanRooy {
    method initUnsafe (line 40) | private static Unsafe initUnsafe() {
    class Result (line 51) | public static class Result {
      method min (line 60) | double min() {
      method max (line 64) | double max() {
      method mean (line 68) | double mean() {
    class ThreadResult (line 73) | public static class ThreadResult {
    method process (line 81) | static void process(MemorySegment memorySegment, ThreadResult threadRe...
    method main (line 185) | public static void main(String[] args) throws IOException, Interrupted...

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_Judekeyser.java
  class CalculateAverage_Judekeyser (line 40) | public class CalculateAverage_Judekeyser {
    method main (line 49) | public static void main(String[] args) throws Exception {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_JurenIvan.java
  class CalculateAverage_JurenIvan (line 34) | public class CalculateAverage_JurenIvan {
    method main (line 38) | public static void main(String[] args) throws IOException {
    method processSegment (line 50) | private static LinearProbingHashMap processSegment(long start, long en...
    method getSegments (line 98) | private static long[] getSegments(int segmentCount) throws IOException {
    class LinearProbingHashMap (line 129) | public static class LinearProbingHashMap {
      method LinearProbingHashMap (line 133) | public LinearProbingHashMap(int slots) {
      method put (line 138) | void put(int hash, byte[] key, int len, int temperature) {
      method keyIsEqual (line 159) | private boolean keyIsEqual(byte[] one, byte[] other, int len) {
    class Measurement (line 172) | static class Measurement {
      method Measurement (line 180) | public Measurement(byte[] city, int hash, int min, int max, int coun...
      method add (line 189) | public void add(int temperature) {
      method merge (line 196) | public Measurement merge(Measurement other) {
      method toString (line 204) | @Override
      method hashCode (line 209) | @Override
      method equals (line 214) | @Override

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_Kidlike.java
  class CalculateAverage_Kidlike (line 53) | public class CalculateAverage_Kidlike {
    method main (line 55) | public static void main(String[] args) {
    method calculateMeasurements (line 101) | private static Map<String, MeasurementAggregator> calculateMeasurement...
    method bytesToInt (line 154) | static int bytesToInt(byte[] bytes) {
    type State (line 175) | private enum State {
    class MeasurementAggregator (line 183) | private static class MeasurementAggregator {
      method merge (line 191) | private MeasurementAggregator merge(MeasurementAggregator other) {
      method toString (line 200) | @Override
    class CheapByteBuffer (line 208) | private static class CheapByteBuffer {
      method CheapByteBuffer (line 213) | public CheapByteBuffer(final int startSize) {
      method append (line 218) | public void append(final byte b) {
      method clear (line 222) | public void clear() {
      method getBytes (line 226) | public byte[] getBytes() {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_MahmoudFawzyKhalil.java
  class CalculateAverage_MahmoudFawzyKhalil (line 29) | public class CalculateAverage_MahmoudFawzyKhalil {
    method main (line 33) | public static void main(String[] args) throws Exception {
    method mapReduce (line 37) | private static void mapReduce() throws IOException {
    method getChunks (line 53) | private static List<Chunk> getChunks(MemorySegment ms, long chunkSize) {
    method readChunkToMap (line 71) | private static Map<String, MeasurementAggregate> readChunkToMap(Chunk ...
    method combine (line 100) | private static Map<String, MeasurementAggregate> combine(Map<String, M...
    method readString (line 115) | private static String readString(MemorySegment ms, long start, long si...
    method addMeasurement (line 121) | private static void addMeasurement(Map<String, MeasurementAggregate> m...
    class MeasurementAggregate (line 129) | private static final class MeasurementAggregate {
      method MeasurementAggregate (line 135) | private MeasurementAggregate(double min, double max, double sum, lon...
      method of (line 142) | public static MeasurementAggregate of(String temperature) {
      method equals (line 147) | @Override
      method hashCode (line 160) | @Override
      method update (line 165) | public MeasurementAggregate update(String part) {
      method toString (line 174) | public String toString() {
      method round (line 178) | private double round(double value) {
      method combine (line 182) | public MeasurementAggregate combine(MeasurementAggregate m2) {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_MeanderingProgrammer.java
  class CalculateAverage_MeanderingProgrammer (line 90) | public class CalculateAverage_MeanderingProgrammer {
    class ChunkReader (line 94) | private static class ChunkReader implements Iterator<ByteBuffer> {
      method ChunkReader (line 102) | public ChunkReader(Path path) throws Exception {
      method estimateIterations (line 108) | public long estimateIterations() {
      method hasNext (line 112) | @Override
      method next (line 117) | @Override
      method nextChunkSize (line 136) | private long nextChunkSize() {
    class RowReader (line 144) | private static class RowReader implements Iterator<Row> {
      method RowReader (line 149) | public RowReader(ByteBuffer buffer) {
      method hasNext (line 154) | @Override
      method next (line 159) | @Override
    class Measurement (line 190) | private static class Measurement {
      method Measurement (line 197) | public Measurement(int value) {
      method merge (line 204) | public Measurement merge(Measurement other) {
      method toString (line 216) | @Override
    method main (line 226) | public static void main(String[] args) throws Exception {
    method run (line 230) | private static void run() throws Exception {
    method toMeasurements (line 242) | private static Map<String, Measurement> toMeasurements(ByteBuffer buff...

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_PanagiotisDrakatos.java
  class CalculateAverage_PanagiotisDrakatos (line 30) | public class CalculateAverage_PanagiotisDrakatos {
    method main (line 35) | public static void main(String[] args) throws IOException {
    method SeekableByteRead (line 41) | private static void SeekableByteRead(String path) throws IOException {
    method getFileSegments (line 60) | private static List<FileSegment> getFileSegments(final File file, fina...
    method findSegment (line 82) | private static long findSegment(RandomAccessFile raf, long location, f...
    method SplitSeekableByteChannel (line 92) | private static ByteBuffer SplitSeekableByteChannel(FileSegment segment) {
    method concat (line 132) | public static ByteBuffer concat(ByteBuffer[] buffers) {
    method combineMaps (line 147) | private static TreeMap<String, MeasurementObject> combineMaps(Stream<M...
    method longHashStep (line 152) | private static int longHashStep(final int hash, final long word) {
    method compilePattern (line 158) | private static long compilePattern(final byte value) {
    method MappingByteBufferToData (line 163) | private static MeasurementRepository MappingByteBufferToData(ByteBuffe...
    method findNextDelimiterAndCalculateHash (line 225) | private static void findNextDelimiterAndCalculateHash(final ByteBuffer...
    class MeasurementRepository (line 267) | static class MeasurementRepository {
      method toString (line 277) | @Override
      method update (line 283) | public MeasurementObject update(long[] nameBytesInLong, ByteBuffer b...
      method resizeTable (line 322) | private void resizeTable() {
      method get (line 340) | public Stream<Entry> get() {
    method arrayEquals (line 345) | private static boolean arrayEquals(final long[] a, final long[] b, fin...
    class MeasurementObject (line 353) | private static final class MeasurementObject {
      method MeasurementObject (line 362) | public MeasurementObject(int MAX, int MIN, long SUM, int REPEAT) {
      method MeasurementObject (line 369) | public MeasurementObject() {
      method MeasurementObject (line 376) | public MeasurementObject(int MAX, int MIN, long SUM) {
      method MeasurementObject (line 382) | public MeasurementObject(int MAX, int MIN) {
      method combine (line 387) | public static MeasurementObject combine(MeasurementObject m1, Measur...
      method updateWith (line 396) | public static MeasurementObject updateWith(MeasurementObject m1, Mea...
      method updateWith (line 405) | public MeasurementObject updateWith(int measurement) {
      method max (line 413) | private static int max(final int a, final int b) {
      method min (line 419) | private static int min(final int a, final int b) {
      method round (line 425) | private double round(double value) {
      method equals (line 429) | @Override
      method hashCode (line 439) | @Override
      method toString (line 444) | @Override

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_PawelAdamski.java
  class CalculateAverage_PawelAdamski (line 27) | public class CalculateAverage_PawelAdamski {
    method ResultRow (line 34) | public ResultRow(MeasurementAggregator ma) {
    method toString (line 38) | public String toString() {
    method round (line 42) | private double round(double value) {
    class Station (line 47) | private static class Station {
      method Station (line 51) | public Station(byte[] station) {
      method hashCode (line 56) | @Override
      method equals (line 61) | @Override
    class MeasurementAggregator (line 68) | private static class MeasurementAggregator {
      method MeasurementAggregator (line 74) | public MeasurementAggregator(long temp) {
      method MeasurementAggregator (line 81) | public MeasurementAggregator() {
      method merge (line 88) | public MeasurementAggregator merge(MeasurementAggregator measurement) {
    method main (line 98) | public static void main(String[] args) throws IOException {
    method prepareResults (line 107) | private static Map<String, ResultRow> prepareResults(Map<Station, Meas...
    method calculateTemperatureStats (line 113) | private static Map<Station, MeasurementAggregator> calculateTemperatur...
    method splitFileIntoParts (line 125) | private static ArrayList<FilePart> splitFileIntoParts(RandomAccessFile...
    method parse (line 143) | private static Map<Station, MeasurementAggregator> parse(FilePart file...
    method parseBytesIntoStationsMap (line 153) | private static HashMap<Station, MeasurementAggregator> parseBytesIntoS...
    method readBytesFromFile (line 172) | private static byte[] readBytesFromFile(FilePart filePart, RandomAcces...
    method parseDouble (line 179) | private static long parseDouble(byte[] text, int start, int end) {
    method findNextLine (line 200) | private static long findNextLine(RandomAccessFile raf, long currentPos...

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_SamuelYvon.java
  class CalculateAverage_SamuelYvon (line 57) | public class CalculateAverage_SamuelYvon {
    method branchlessMax (line 85) | private static int branchlessMax(final int a, final int b) {
    method branchlessMin (line 96) | private static int branchlessMin(final int a, final int b) {
    class StationName (line 105) | private static final class StationName {
      method StationName (line 110) | private StationName(int hash, MappedByteBuffer backing, int pos, int...
      method hashCode (line 116) | @Override
      method equals (line 121) | @SuppressWarnings("EqualsWhichDoesntCheckParameterClass")
      method toString (line 140) | @Override
    class StationMeasureAgg (line 146) | private static class StationMeasureAgg {
      method StationMeasureAgg (line 156) | public StationMeasureAgg(StationName name) {
      method hashCode (line 165) | @Override
      method city (line 175) | public String city() {
      method mergeWith (line 182) | public StationMeasureAgg mergeWith(StationMeasureAgg other) {
      method accumulate (line 192) | public void accumulate(int number) {
      method toString (line 200) | @Override
      method station (line 208) | public StationName station() {
    method parseChunk (line 213) | private static HashMap<StationName, StationMeasureAgg> parseChunk(Mapp...
    method approximateChunks (line 274) | private static int approximateChunks() {
    method getFileChunks (line 280) | private static List<MappedByteBuffer> getFileChunks() throws IOExcepti...
    method main (line 318) | public static void main(String[] args) throws IOException {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_Smoofie.java
  class CalculateAverage_Smoofie (line 29) | public class CalculateAverage_Smoofie {
    class MeasurementAggregator (line 34) | private static class MeasurementAggregator {
      method toString (line 40) | @Override
      method round (line 45) | private double round(double value) {
    class CountResult (line 50) | private static final class CountResult {
      method CountResult (line 56) | private CountResult(
    method hash (line 71) | private static int hash(long cityNameAddress, short cityLength) {
    method getUnsafe (line 93) | private static Unsafe getUnsafe() {
    method locateSemicolon (line 104) | private static long locateSemicolon(long input) {
    method main (line 109) | public static void main(String[] args) throws IOException, Interrupted...

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_Ujjwalbharti.java
  class CalculateAverage_Ujjwalbharti (line 31) | public class CalculateAverage_Ujjwalbharti {
    method Measurement (line 37) | private Measurement(String[] parts) {
    method toString (line 43) | public String toString() {
    method round (line 47) | private double round(double value) {
    class MeasurementAggregator (line 54) | private static class MeasurementAggregator {
    class FileReaderCallable (line 61) | private static class FileReaderCallable implements Callable<Void> {
      method FileReaderCallable (line 66) | public FileReaderCallable(Path filePath, long startPos, long endPos) {
      method call (line 72) | @Override
    method calculateEndPosition (line 114) | private static long calculateEndPosition(Path path, long startPos, lon...
    method main (line 142) | public static void main(String[] args) throws IOException {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_YannMoisan.java
  class CalculateAverage_YannMoisan (line 46) | public class CalculateAverage_YannMoisan {
    method main (line 51) | public static void main(String[] args) throws IOException {
    method calculateStats (line 57) | private static Map<String, Stat> calculateStats(String file,
    method combine (line 76) | private static Map<Location, Stat> combine(Map<Location, Stat> xs,
    method parse (line 94) | private static Map<Location, Stat> parse(ByteBuffer bb) {
    method fileMemoryStream (line 133) | private static Stream<ByteBuffer> fileMemoryStream(FileChannel fileCha...
    method fileMemoryIterator (line 144) | private static Iterator<ByteBuffer> fileMemoryIterator(FileChannel fil...
    class Location (line 177) | private static final class Location {
      method Location (line 180) | public Location(byte[] value) {
      method equals (line 184) | @Override
      method hashCode (line 194) | @Override
    class Stat (line 200) | private static final class Stat {
      method combine (line 207) | public static Stat combine(Stat m1,
      method update (line 217) | private void update(int value) {
      method toString (line 224) | @Override
      method round (line 229) | private double round(double value) {
    class ManagedComputation (line 234) | private static final class ManagedComputation {
      method compute (line 235) | static <T> T compute(final Supplier<T> supplier) {
      class ManagedSupplier (line 248) | private static class ManagedSupplier<T> implements ForkJoinPool.Mana...
        method ManagedSupplier (line 253) | private ManagedSupplier(final Supplier<T> supplier) {
        method block (line 257) | @Override
        method isReleasable (line 264) | @Override
        method getResult (line 269) | T getResult() {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_abeobk.java
  class CalculateAverage_abeobk (line 36) | public class CalculateAverage_abeobk {
    method initUnsafe (line 62) | private static Unsafe initUnsafe() {
    method main (line 76) | public static void main(String[] args) throws InterruptedException, IO...
    method getSemiCode (line 116) | static final long getSemiCode(final long w) {
    method getLFCode (line 122) | static final long getLFCode(final long w) {
    method getDotCode (line 128) | static final int getDotCode(final long w) {
    method getSemiPos (line 133) | static final int getSemiPos(final long spc) {
    method nextLF (line 138) | static final long nextLF(long addr) {
    method num (line 151) | static final long num(long w, int d) {
    method mix (line 161) | static final long mix(long hash) {
    method spawnWorker (line 167) | private static void spawnWorker() throws IOException {
    class Node (line 180) | final static class Node {
      method toString (line 189) | public final String toString() {
      method key (line 195) | final String key() {
      method Node (line 201) | Node(long a, long h, int kl, long v) {
      method Node (line 208) | Node(long a, long h, int kl) {
      method Node (line 216) | Node(long a, long w0, long h, int kl, long v) {
      method Node (line 224) | Node(long a, long w0, long h, int kl) {
      method add (line 233) | final void add(long val) {
      method merge (line 244) | final void merge(Node other) {
      method contentEquals (line 255) | final boolean contentEquals(long other_addr, long other_word0, long ...
      method contentEquals (line 267) | final boolean contentEquals(Node other) {
    class Worker (line 280) | static final class Worker extends Thread {
      method Worker (line 283) | Worker(int i) {
      method run (line 289) | @Override
    class ChunkParser (line 382) | static final class ChunkParser {
      method ChunkParser (line 387) | ChunkParser(Node[] m, long a, long e) {
      method ok (line 393) | final boolean ok() {
      method word (line 397) | final long word() {
      method skip (line 401) | final void skip(int n) {
      method skip (line 405) | final void skip(long n) {
      method val0 (line 409) | final long val0() {
      method val (line 415) | final long val() {
      method key (line 426) | final Node key(long word0, long semipos_code) {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_abfrmblr.java
  class CalculateAverage_abfrmblr (line 25) | public class CalculateAverage_abfrmblr {
    method toString (line 30) | @Override
    method round (line 34) | private double round(double value) {
    method MeasurementTuple (line 40) | public MeasurementTuple (String[] values) {
    method main (line 45) | public static void main(String[] args) throws IOException {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_adriacabeza.java
  class CalculateAverage_adriacabeza (line 38) | public class CalculateAverage_adriacabeza {
    class Result (line 49) | private static class Result {
      method addStation (line 50) | public void addStation(int hash, int value) {
      method getData (line 54) | public StationData getData(int hash) {
      class StationData (line 58) | private static class StationData {
        method StationData (line 61) | public StationData(int value) {
        method update (line 68) | public void update(int value) {
        method toString (line 75) | public String toString() {
      method Result (line 83) | public Result() {
      method getResultMap (line 87) | public Map<Integer, StationData> getResultMap() {
      method merge (line 91) | public void merge(Result other) {
      method toString (line 101) | public String toString() {
    method findEndPosition (line 117) | private static long findEndPosition(FileChannel channel, long position...
    method getMappedByteBuffers (line 143) | private static List<MappedByteBuffer> getMappedByteBuffers(int nProces...
    method readNumberFromBuffer (line 161) | private static int readNumberFromBuffer(ByteBuffer buffer, int limit) {
    method calculateAverageMeasurements (line 181) | private static Result calculateAverageMeasurements(List<MappedByteBuff...
    method main (line 228) | public static void main(String[] args) {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_agoncal.java
  class CalculateAverage_agoncal (line 85) | public class CalculateAverage_agoncal {
    class StationStats (line 92) | static class StationStats {
      method StationStats (line 98) | public StationStats(double temperature) {
      method update (line 105) | synchronized void update(double temperature) {
      method getAverage (line 112) | double getAverage() {
      method toString (line 116) | @Override
    method main (line 122) | public static void main(String[] args) throws IOException {
    method round (line 150) | private static double round(double value) {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_ags313.java
  class CalculateAverage_ags313 (line 32) | public class CalculateAverage_ags313 {
    class Key (line 57) | private static class Key implements Comparable<Key> {
      method accept (line 63) | public void accept(byte b) {
      method equals (line 69) | @Override
      method hashCode (line 89) | @Override
      method toString (line 94) | @Override
      method reset (line 99) | void reset() {
      method compareTo (line 104) | @Override
    method readChunk (line 110) | private static HashMap<Key, Stats> readChunk(FileChannel from, long st...
    method main (line 164) | public static void main(String[] args) throws Exception {
    class Stats (line 214) | static class Stats {
      method Stats (line 220) | Stats() {
      method toString (line 223) | @Override
      method merge (line 230) | void merge(Stats that) {
    method unsafe (line 240) | private static Unsafe unsafe() {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_albertoventurini.java
  class CalculateAverage_albertoventurini (line 39) | public class CalculateAverage_albertoventurini {
    class TrieNode (line 48) | private static final class TrieNode {
    method processChunk (line 60) | private static void processChunk(final TrieNode root, final ChunkReade...
    class ResultPrinter (line 112) | static class ResultPrinter {
      method printResults (line 119) | void printResults(final TrieNode[] roots) {
      method round (line 125) | private static double round(long value) {
      method printResultsRec (line 130) | private void printResultsRec(final TrieNode[] nodes, final byte[] by...
    class ChunkReader (line 182) | private static final class ChunkReader {
      method ChunkReader (line 207) | ChunkReader(
      method ensureHasMoreRows (line 223) | boolean ensureHasMoreRows() {
      method getNext (line 235) | byte getNext() {
      method readSubChunk (line 239) | private void readSubChunk() {
    method makeChunkReaders (line 258) | private static ChunkReader[] makeChunkReaders(
    method processWithChunkReaders (line 296) | private static void processWithChunkReaders() throws Exception {
    method main (line 325) | public static void main(String[] args) throws Exception {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_alesj.java
  class CalculateAverage_alesj (line 26) | public class CalculateAverage_alesj {
    method main (line 27) | public static void main(String[] args) throws Exception {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_algirdasrascius.java
  class CalculateAverage_algirdasrascius (line 32) | public class CalculateAverage_algirdasrascius {
    class AggregatorMap (line 42) | private static class AggregatorMap {
      method add (line 47) | void add(byte[] buffer, int nameStart, int nameEnd, int nameHash, sh...
      method combineWith (line 51) | void combineWith(AggregatorMap other) {
      method printResult (line 61) | void printResult() {
      method getEntry (line 74) | private AggregatorMapEntry getEntry(byte[] buffer, int nameStart, in...
    class AggregatorMapEntry (line 94) | private static class AggregatorMapEntry {
      method AggregatorMapEntry (line 104) | public AggregatorMapEntry(int nameStart, int nameEnd, int nameHash, ...
      method accumulate (line 111) | void accumulate(short value) {
      method combineWith (line 122) | void combineWith(AggregatorMapEntry other) {
      method result (line 133) | ResultRow result() {
    method toString (line 140) | public String toString() {
    method round (line 144) | private String round(short value) {
    class ReaderTask (line 155) | private static class ReaderTask implements Callable<AggregatorMap> {
      method ReaderTask (line 162) | public ReaderTask(FileChannel channel, AtomicLong nextChunkPosition) {
      method call (line 167) | @Override
      method processChunk (line 174) | private boolean processChunk() throws IOException {
      method processLine (line 209) | private int processLine(int index) {
    method main (line 252) | public static void main(String[] args) throws Exception {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_anandmattikopp.java
  class CalculateAverage_anandmattikopp (line 25) | public class CalculateAverage_anandmattikopp {
    method main (line 28) | public static void main(String[] args) throws IOException {
    method StationStatistics (line 48) | StationStatistics(Station station) {
    method merge (line 54) | public static StationStatistics merge(StationStatistics stats1, Statio...
    method toString (line 65) | @Override
    method round (line 70) | private double round(double value) {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_anestoruk.java
  class CalculateAverage_anestoruk (line 41) | public class CalculateAverage_anestoruk {
    method main (line 46) | public static void main(String[] args) throws IOException {
    method calculateChunkSize (line 88) | private static long calculateChunkSize(long fileSize) {
    method process (line 100) | private static Record[] process(SegmentRange range, MemorySegment segm...
    method addRecord (line 133) | private static void addRecord(Record[] records, int hash, byte[] cityB...
    method mergeResult (line 148) | private static void mergeResult(TreeMap<String, Record> result, Record...
    class Record (line 167) | private static class Record {
      method Record (line 176) | public Record(int hash, byte[] city, int temperature) {
      method add (line 185) | public void add(int temperature) {
      method merge (line 192) | public void merge(Record other) {
      method toString (line 199) | @Override

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_anitasv.java
  class CalculateAverage_anitasv (line 30) | public class CalculateAverage_anitasv {
    method getByte (line 36) | byte getByte(long address) {
    method indexOf (line 40) | long indexOf(long position, byte ch) {
    method getRange (line 52) | MemorySegment getRange(long start, long end) {
    method parseDouble (line 56) | int parseDouble(long start, long end) {
    method computeHash (line 82) | public int computeHash(long position, long stationEnd) {
    method truncate (line 88) | public long truncate(long index) {
    method getLong (line 92) | public long getLong(long position) {
    class FastHashMap (line 100) | private static class FastHashMap {
      method FastHashMap (line 110) | private FastHashMap(int capacity) {
      method find (line 117) | IntSummaryStatistics find(int hash, Shard shard, long stationStart, ...
      method values (line 178) | Iterable<Map.Entry<String, IntSummaryStatistics>> values() {
    method process (line 202) | private static Iterable<Map.Entry<String, IntSummaryStatistics>> proce...
    method combineResults (line 227) | private static Map<String, IntSummaryStatistics> combineResults(List<I...
    method master (line 246) | private static Map<String, IntSummaryStatistics> master(MemorySegment ...
    method start (line 261) | public static Map<String, IntSummaryStatistics> start() throws IOExcep...
    method toPrintMap (line 272) | private static Map<String, String> toPrintMap(Map<String, IntSummarySt...
    method statToString (line 281) | private static String statToString(IntSummaryStatistics stat) {
    method main (line 285) | public static void main(String[] args) throws IOException {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_arjenvaneerde.java
  class CalculateAverage_arjenvaneerde (line 26) | public class CalculateAverage_arjenvaneerde {
    class Measure (line 28) | static class Measure {
      method Measure (line 36) | Measure(final byte[] station, int count, int minTemp, int maxTemp, l...
      method Measure (line 45) | Measure(byte[] bytes, int startPos, int endPos, int temp) {
      method add (line 55) | void add(int temp) {
      method merge (line 62) | public static Measure merge(Measure m1, Measure m2) {
      method toString (line 66) | public String toString() {
    class Measures (line 71) | static class Measures {
      method Measures (line 76) | Measures() {
      method add (line 80) | void add(byte[] bytes, int startPos, int endPos, int temp) {
    class BytesProcessor (line 178) | private static class BytesProcessor implements Runnable {
      method BytesProcessor (line 185) | BytesProcessor(byte[] buffer, long absoluteStartPos, int startPos, i...
      method run (line 193) | @Override
    class MeasuresMergeProcessor (line 223) | private static class MeasuresMergeProcessor implements Runnable {
      method MeasuresMergeProcessor (line 229) | MeasuresMergeProcessor(final Measures[] measures,
      method run (line 239) | @Override
    method main (line 265) | public static void main(String[] args) throws Exception {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_arjenw.java
  class CalculateAverage_arjenw (line 45) | public class CalculateAverage_arjenw {
    method main (line 50) | public static void main(String[] args) {
    method parseSegment (line 66) | private static StationList parseSegment(File file, long fileSize, int ...
    class Station (line 120) | private static final class Station {
      method Station (line 130) | private Station(byte[] data, int length, int hash, int value) {
      method toString (line 139) | @Override
      method append (line 144) | private void append(int min, int max, int total, int count) {
      method append (line 153) | public void append(int value) {
      method merge (line 157) | public void merge(Station other) {
    class StationList (line 162) | private static class StationList implements Iterable<Station> {
      method add (line 167) | private boolean add(int hash, Supplier<Station> create, Consumer<Sta...
      method add (line 184) | public boolean add(byte[] data, int stationNameLength, int stationHa...
      method add (line 188) | public void add(Station station) {
      method toStringArray (line 192) | public String[] toStringArray() {
      method merge (line 202) | public StationList merge(StationList other) {
      method iterator (line 208) | @Override
    method takeUntil (line 232) | private static String takeUntil(String s, char c) {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_armandino.java
  class CalculateAverage_armandino (line 34) | public class CalculateAverage_armandino {
    method main (line 62) | public static void main(String[] args) throws Exception {
    method mergeStats (line 99) | private static Stats mergeStats(final Stats x, final Stats y) {
    class ChunkProcessor (line 107) | private static class ChunkProcessor extends Thread {
      method ChunkProcessor (line 113) | private ChunkProcessor(long chunkStart, long chunkEnd) {
      method run (line 118) | @Override
      method parseNumber (line 142) | private static short parseNumber(int decimalSepPos, long numberWord) {
    class Stats (line 157) | private static class Stats {
      method Stats (line 164) | Stats(final String key, final int min, final int max, final int coun...
      method print (line 172) | void print(final PrintStream out) {
      method round (line 182) | private static double round(double value) {
    method print (line 187) | private static void print(final Collection<Stats> sorted) {
    method split (line 199) | private static Chunk[] split(final FileChannel channel) throws IOExcep...
    method getUnsafe (line 230) | private static Unsafe getUnsafe() {
    class UnsafeMap (line 241) | private static class UnsafeMap {
      method UnsafeMap (line 247) | UnsafeMap(int numEntries) {
      method addEntry (line 255) | void addEntry(final int keyHash, final long keyAddress, final short ...
      method resize (line 291) | private void resize(final int keyHash, final long keyAddress, final ...
      method initEntry (line 320) | private static void initEntry(final long entry, final long keyAddres...
      method updateEntry (line 330) | private static void updateEntry(final long entry, final short measur...
    method keysEqual (line 342) | private static boolean keysEqual(long key1Address, long key2Address, f...

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_artpar.java
  class CalculateAverage_artpar (line 42) | public class CalculateAverage_artpar {
    method CalculateAverage_artpar (line 54) | public CalculateAverage_artpar() throws IOException {
    method calculateIntegerByteMapTest (line 147) | public static int[] calculateIntegerByteMapTest() {
    method hashInteger (line 184) | private static int hashInteger(int i) {
    method calculateIntegerByteMap (line 196) | public static int[] calculateIntegerByteMap() {
    method main (line 215) | public static void main(String[] args) throws IOException {
    method initUnsafe (line 219) | private static Unsafe initUnsafe() {
    method unsafeEquals (line 230) | static boolean unsafeEquals(long aStart, long aLength, long bStart, lo...
    method toString (line 243) | public String toString() {
    method round (line 247) | private double round(double value) {
    method printTo (line 251) | public void printTo(PrintStream out) {
    class MeasurementAggregator (line 256) | private static class MeasurementAggregator {
      method combine (line 262) | MeasurementAggregator combine(MeasurementAggregator other) {
      method combine (line 270) | void combine(int value) {
      method finish (line 278) | ResultRow finish() {
    class StationName (line 284) | static class StationName {
      method StationName (line 290) | public StationName(ByteBuffer nameBytes, int hash) {
    class ReaderRunnable (line 297) | private class ReaderRunnable {
      method ReaderRunnable (line 303) | private ReaderRunnable(long startPosition, int chunkSize, FileChanne...
      method run (line 310) | public Map<String, MeasurementAggregator> run() throws IOException {
    class StationNameMap (line 351) | class StationNameMap {
      method getOrCreate (line 358) | public void getOrCreate(long stationNameBytesAddress, int length, in...

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_artsiomkorzun.java
  class CalculateAverage_artsiomkorzun (line 34) | public class CalculateAverage_artsiomkorzun {
    method main (line 58) | public static void main(String[] args) throws Exception {
    method isSpawn (line 74) | private static boolean isSpawn(String[] args) {
    method spawn (line 84) | private static void spawn() throws Exception {
    method execute (line 107) | private static void execute() throws Exception {
    method map (line 133) | private static MemorySegment map(Path file) {
    method word (line 143) | private static long word(long address) {
    method text (line 154) | private static String text(Map<String, Aggregate> aggregates) {
    method round (line 174) | private static double round(double v) {
    class Aggregates (line 181) | private static class Aggregates {
      method Aggregates (line 189) | public Aggregates() {
      method find (line 195) | public long find(long word1, long word2, long hash) {
      method put (line 202) | public long put(long reference, long word, long length, long hash) {
      method update (line 217) | public static void update(long address, long value) {
      method merge (line 235) | public void merge(Aggregates rights) {
      method build (line 272) | public Map<String, Aggregate> build() {
      method alloc (line 297) | private static void alloc(long reference, long length, long hash, lo...
      method offset (line 305) | private static long offset(long hash) {
      method next (line 309) | private static long next(long prev) {
      method equal (line 313) | private static boolean equal(long leftAddress, long leftWord, long r...
      method equal (line 330) | private static boolean equal(long leftAddress, long rightAddress, lo...
    class Aggregator (line 348) | private static class Aggregator extends Thread {
      method Aggregator (line 356) | public Aggregator(AtomicInteger counter, AtomicReference<Aggregates>...
      method run (line 366) | @Override
      method next (line 465) | private static long next(long position) {
      method find (line 480) | private static long find(Aggregates aggregates, Chunk chunk, long wo...
      method value (line 527) | private static long value(Chunk chunk) {
      method separator (line 535) | private static long separator(long word) {
      method mask (line 540) | private static long mask(long word, long separator) {
      method length (line 545) | private static int length(long separator) {
      method mix (line 549) | private static long mix(long x) {
      method dot (line 557) | private static long dot(long num) {
      method value (line 561) | private static long value(long w, long dot) {
    class Chunk (line 570) | private static class Chunk {
      method Chunk (line 574) | public Chunk(long position, long limit) {
      method has (line 579) | boolean has() {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_as-com.java
  class CalculateAverage_asun (line 44) | class CalculateAverage_asun {
    class Worker (line 103) | private static class Worker implements Runnable {
      method Worker (line 109) | private Worker(MemorySegment ms) {
      method run (line 113) | @Override
      method pollSegment (line 252) | private boolean pollSegment() {
    method main (line 278) | public static void main(String[] args) throws IOException, ExecutionEx...
    method merge (line 337) | private static Result merge(Result v, Result value) {
    method merge (line 341) | private static Result merge(Result v, long value, long value1, long va...
    method findSegment (line 349) | private static long findSegment(MemorySegment ms, long location, long ...
    class Result (line 361) | static class Result {
      method Result (line 365) | Result(long value) {
      method toString (line 370) | @Override
      method round (line 375) | double round(double v) {
      method round (line 379) | double round(long v) {
    class ByteArrayToResultMap (line 388) | static class ByteArrayToResultMap {
      method putOrMerge (line 393) | public void putOrMerge(byte[] key, int offset, int size, long temp, ...
      method getAll (line 417) | public List<Entry> getAll() {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_baseline.java
  class CalculateAverage_baseline (line 27) | public class CalculateAverage_baseline {
    method Measurement (line 32) | private Measurement(String[] parts) {
    method toString (line 39) | public String toString() {
    method round (line 43) | private double round(double value) {
    class MeasurementAggregator (line 48) | private static class MeasurementAggregator {
    method main (line 55) | public static void main(String[] args) throws IOException {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_baseline_original_rounding.java
  class CalculateAverage_baseline_original_rounding (line 36) | public class CalculateAverage_baseline_original_rounding {
    method Measurement (line 41) | private Measurement(String[] parts) {
    method toString (line 47) | public String toString() {
    method round (line 51) | private double round(double value) {
    class MeasurementAggregator (line 56) | private static class MeasurementAggregator {
    method main (line 63) | public static void main(String[] args) throws IOException {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_berry120.java
  class CalculateAverage_berry120 (line 34) | public class CalculateAverage_berry120 {
    class TemperatureSummary (line 41) | static class TemperatureSummary implements Comparable<TemperatureSumma...
      method TemperatureSummary (line 48) | public TemperatureSummary(byte[] name, int min, int max, int total, ...
      method compareTo (line 56) | @Override
      method toString (line 61) | @Override
    method main (line 73) | public static void main(String[] args) throws Exception {
    method parse (line 249) | private static int parse(byte[] arr, int len) {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_bjhara.java
  class CalculateAverage_bjhara (line 25) | public class CalculateAverage_bjhara {
    class Measurement (line 28) | private static class Measurement {
      method toString (line 34) | public String toString() {
      method round (line 38) | private double round(double value) {
      method combine (line 42) | public static Measurement combine(Measurement m1, Measurement m2) {
    method main (line 52) | public static void main(String[] args) throws IOException {
    method combineMaps (line 66) | private static Map<String, Measurement> combineMaps(Map<String, Measur...
    method splitFileChannel (line 75) | private static Stream<ByteBuffer> splitFileChannel(final FileChannel f...
    method parseBuffer (line 113) | private static Map<String, Measurement> parseBuffer(ByteBuffer bb) {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_breejesh.java
  class CalculateAverage_breejesh (line 30) | public class CalculateAverage_breejesh {
    class Measurement (line 35) | private static final class Measurement {
      method Measurement (line 42) | public Measurement(int value) {
      method toString (line 49) | @Override
      method append (line 60) | private void append(int min, int max, int total, int count) {
      method append (line 69) | public void append(int value) {
      method merge (line 73) | public void merge(Measurement other) {
    method main (line 78) | public static void main(String[] args) throws Exception {
    method getStationFromBuffer (line 145) | private static String getStationFromBuffer(MappedByteBuffer currentBuf...
    method getValueFromBuffer (line 155) | private static int getValueFromBuffer(MappedByteBuffer currentBuffer) {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_bufistov.java
  class ByteArrayWrapper (line 41) | class ByteArrayWrapper {
    method ByteArrayWrapper (line 44) | public ByteArrayWrapper(byte[] data) {
    method equals (line 48) | @Override
    method hashCode (line 53) | @Override
  class CalculateAverage_bufistov (line 59) | public class CalculateAverage_bufistov {
    class ResultRow (line 61) | static class ResultRow {
      method ResultRow (line 67) | ResultRow() {
      method ResultRow (line 70) | ResultRow(byte[] station, long value) {
      method ResultRow (line 79) | ResultRow(long value) {
      method setStation (line 86) | void setStation(long startPosition, long endPosition) {
      method toString (line 93) | public String toString() {
      method round (line 98) | private double round(double value) {
      method update (line 102) | void update(long newValue) {
      method merge (line 113) | ResultRow merge(ResultRow another) {
    class OpenHash (line 122) | static class OpenHash {
      method OpenHash (line 128) | public OpenHash(int capacityPow2) {
      method hashByteArray (line 135) | int hashByteArray(byte[] array) {
      method merge (line 144) | void merge(byte[] station, long value, int hashValue) {
      method merge (line 158) | void merge(byte[] station, long value) {
      method merge (line 162) | void merge(final long startPosition, long endPosition, int hashValue...
      method equalsToStation (line 176) | boolean equalsToStation(long startPosition, long endPosition, byte[]...
      method toJavaHashMap (line 187) | HashMap<ByteArrayWrapper, ResultRow> toJavaHashMap() {
    class FileRead (line 214) | public static class FileRead implements Callable<HashMap<ByteArrayWrap...
      method FileRead (line 225) | public FileRead(FileChannel fileChannel, long startLocation, long by...
      method call (line 231) | @Override
      method getByte (line 252) | byte getByte(long position) throws IOException {
      method toLineBeginPrefix (line 257) | void toLineBeginPrefix() throws IOException {
      method toLineBeginSuffix (line 264) | void toLineBeginSuffix() throws IOException {
      method processChunk (line 270) | void processChunk(OpenHash result) {
      method getValue (line 301) | long getValue(long startLocation, long endLocation) {
      method getStationName (line 315) | String getStationName(long from, long to) {
    method main (line 324) | public static void main(String[] args) throws Exception {
    method log (line 377) | static void log(String message) {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_bytesfellow.java
  class CalculateAverage_bytesfellow (line 28) | public class CalculateAverage_bytesfellow {
    class Partition (line 46) | static class Partition {
      method offer (line 57) | @Override
      method scheduleToProcess (line 74) | public void scheduleToProcess(byte[] slice, List<LineParams> lines) {
      method materializeNames (line 100) | public void materializeNames() {
      method getResult (line 104) | public Map<Station, MeasurementAggregator> getResult() {
      method allTasksCompleted (line 108) | public boolean allTasksCompleted() {
    class Partitioner (line 117) | static class Partitioner {
      method take (line 128) | @Override
      method offer (line 133) | @Override
      method Partitioner (line 150) | Partitioner(int partitionsSize) {
      method partitionsSize (line 155) | private int partitionsSize() {
      method processSlice (line 159) | void processSlice(byte[] slice) {
      method getLine (line 196) | private static byte[] getLine(byte[] slice, int lineLength, int star...
      method processPartitionedBatch (line 202) | private void processPartitionedBatch(byte[] slice, List<List<LinePar...
      method computePartition (line 208) | private int computePartition(int code) {
      method getPartitioningCode (line 212) | private static int getPartitioningCode(byte[] line, int start, int u...
      method getAllResults (line 228) | SortedMap<Station, MeasurementAggregator> getAllResults() {
      method allTasksCompleted (line 235) | public boolean allTasksCompleted() {
    class Station (line 243) | public static class Station implements Comparable<Station> {
      method Station (line 253) | public Station(byte[] inputSlice, int startIdx, int len) {
      method Station (line 260) | public Station(Station from) {
      method hashcodeFast (line 268) | private int hashcodeFast() {
      method equals (line 287) | @Override
      method hashCode (line 303) | @Override
      method compareTo (line 308) | @Override
      method materializeName (line 313) | public String materializeName() {
      method toString (line 323) | @Override
    method toString (line 334) | public String toString() {
    method fakeDouble (line 338) | private String fakeDouble(long value) {
    method round (line 347) | private double round(double value) {
    class MeasurementAggregator (line 353) | public static class MeasurementAggregator {
      method withMeasurement (line 359) | MeasurementAggregator withMeasurement(Measurement m) {
      method toString (line 369) | @Override
    method parseToLongIgnoringDecimalPoint (line 376) | private static long parseToLongIgnoringDecimalPoint(byte[] slice, int ...
    method multipleByTen (line 398) | private static long multipleByTen(long value) {
    method digitAsLong (line 402) | private static long digitAsLong(byte[] digits, int position) {
    method main (line 406) | public static void main(String[] args) throws IOException {
    method parseStreamWithBytes (line 421) | static void parseStreamWithBytes(InputStream inputStream, int bufferLe...
    method getUtf8CharNumberOfBytes (line 483) | static int getUtf8CharNumberOfBytes(byte firstByteOfChar) {
    method showResults (line 499) | static void showResults(Partitioner partitioner) {
    method getMeasurement (line 531) | private static Measurement getMeasurement(byte[] slice, LineParams lin...
    method lastIndexOfSeparator (line 538) | private static int lastIndexOfSeparator(byte[] slice, LineParams lineP...

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_cb0s.java
  class CalculateAverage_cb0s (line 27) | public class CalculateAverage_cb0s {
    method main (line 32) | public static void main(String[] args) throws IOException, Interrupted...
    method benchmark (line 37) | private static void benchmark() throws IOException {
    method run (line 47) | private static void run() throws IOException {
    class MeasurementAggregator (line 75) | private static class MeasurementAggregator {
      method MeasurementAggregator (line 76) | public MeasurementAggregator(int initialValue) {
    method equals (line 93) | @Override
    method compareTo (line 101) | @Override
    method toString (line 106) | @Override
    method hashCode (line 111) | @Override
    method equals (line 122) | @Override
    method hashCode (line 136) | @Override
    method toString (line 141) | @Override
    method compareTo (line 146) | @Override
    class TempResultStorage (line 159) | private static class TempResultStorage {
      method insertMeasurement (line 160) | public void insertMeasurement(byte[] dataRow, int from, int to) {
      method TempResultStorage (line 195) | public TempResultStorage() {
      method merge (line 201) | public static TempResultStorage merge(TempResultStorage storage0, Te...
      method parseMeasurement (line 253) | private int parseMeasurement(byte[] dataRow, int from, int to) {
    method processChunk (line 274) | private static TempResultStorage processChunk(int i, long chunkSize) {
    method getFileSize (line 335) | private static long getFileSize() {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_charlibot.java
  class CalculateAverage_charlibot (line 30) | public class CalculateAverage_charlibot {
    method initUnsafe (line 36) | private static Unsafe initUnsafe() {
    method main (line 49) | public static void main(String[] args) throws Exception {
    method max (line 55) | static int max(final int a, final int b) {
    method min (line 62) | static int min(final int a, final int b) {
    class Measurement (line 68) | static class Measurement {
      method Measurement (line 74) | Measurement(int value) {
      method toString (line 81) | @Override
      method round (line 89) | private double round(double value) {
    class MeasurementMap3 (line 94) | static class MeasurementMap3 {
      method MeasurementMap3 (line 101) | MeasurementMap3() {
      method insert (line 106) | public void insert(long fromAddress, long toAddress, int hashcode, i...
      method tryInsert (line 111) | private void tryInsert(int mapIndex, long fromAddress, long toAddres...
      method toMap (line 153) | public HashMap<String, Measurement> toMap() {
      method entrySet (line 167) | public Set<Map.Entry<String, Measurement>> entrySet() {
    method getChunks (line 172) | public static long[] getChunks(int numChunks) throws Exception {
    method memoryMap (line 192) | public static void memoryMap() throws Exception {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_chrisbellew.java
  class CalculateAverage_chrisbellew (line 68) | public final class CalculateAverage_chrisbellew {
    method main (line 85) | public static void main(String[] args) throws IOException {
    method printResults (line 124) | private static void printResults(TreeMap<String, CityResult> results) {
    method getThreadRanges (line 151) | public static final FileRange[] getThreadRanges(int threads) throws IO...
    method getFileSize (line 162) | private static final long getFileSize() {
    class ThreadProcessor (line 175) | static final class ThreadProcessor implements Runnable {
      method ThreadProcessor (line 255) | public ThreadProcessor(long start, long end, int bufferSize) {
      method run (line 273) | public final void run() {
      method processRange (line 299) | private final void processRange(MappedByteBuffer buffer, boolean las...
      method processBuffer (line 327) | private final void processBuffer(byte[] buffer, int numBytes, boolea...
      method findFirstNewline (line 404) | private final int findFirstNewline(byte[] buffer) {
      method slice (line 428) | private final void slice(byte[] buffer, int newlineIndex, int nameSt...
      method record (line 466) | private final void record(byte[] buffer, int nameStart, int nameEnd,...
      method nameToSlotIndex (line 562) | private final int nameToSlotIndex(byte[] buffer, int nameStart, int ...
      method updateSlot (line 605) | private final void updateSlot(int slotIndex, int measurement) {
      method slotEquals (line 626) | private final boolean slotEquals(byte[] buffer, int nameStart, int v...
      method getNumbersIndex (line 658) | private final long getNumbersIndex(int slotIndex) {
      method collectResults (line 662) | public void collectResults(TreeMap<String, CityResult> results) {
      method generateMasks (line 690) | private static final VectorMask<Byte>[] generateMasks(VectorSpecies<...
      method getUnsafe (line 702) | private static final Unsafe getUnsafe() {
    class CityResult (line 715) | static final class CityResult {
      method CityResult (line 721) | public CityResult(int min, int max, int sum, int count) {
    class FileRange (line 729) | static final class FileRange {
      method FileRange (line 733) | public FileRange(long start, long end) {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_cliffclick.java
  class CalculateAverage_cliffclick (line 26) | abstract class CalculateAverage_cliffclick {
    method main (line 54) | public static void main(String[] args) throws Exception {
    method work (line 78) | static Work work(String[] args) throws Exception {
    method tstart (line 109) | static void tstart(Work w, File f, long start, long len) {
    method has0 (line 135) | static long has0(long x) {
    method do_chunk (line 141) | static void do_chunk(Work w, boolean skip1, int limit, MappedByteBuffe...
    method skipLast (line 198) | private static int skipLast(int limit, Work w, long base) {
    method parseData (line 219) | private static int parseData(int idx, Work w, int cityx, long n8, long...
    method skipFirst (line 248) | private static int skipFirst(int idx, long base) {
    class Work (line 256) | private static class Work {
      method insert (line 270) | void insert(long n8, int temp, long base, int cityx) {
      method uhash_final (line 309) | static long uhash_final(long n8) {
      method new_city (line 314) | void new_city(int ihash, long base_cityx) {
      method hash_hash (line 323) | private static int hash_hash(int uhash) {
      method reprobe (line 332) | private static int reprobe(int ihash, int uhash) {
      method ihash (line 337) | int ihash(int uhash) {
      method reduce (line 353) | void reduce(Work w) {
      method key (line 391) | static int key(long cnt_key) {
      method cnt (line 395) | static int cnt(long cnt_key) {
      method min (line 399) | static int min(long min_max) {
      method max (line 403) | static int max(long min_max) {
      method temp (line 407) | static int temp(long min_max) {
      method cnt_key (line 411) | static long cnt_key(int cnt, int key) {
      method min_max (line 415) | static long min_max(int min, int max, int sum) {
      method toString (line 419) | @Override
    method toHex (line 452) | static String toHex(byte[] bs) {
    method toChar (line 460) | static String toChar(long x) {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_coolmineman.java
  class CalculateAverage_coolmineman (line 29) | public class CalculateAverage_coolmineman {
    class MeasurementAggregator (line 33) | private static class MeasurementAggregator {
      method add (line 39) | void add(double value) {
      method merge (line 46) | void merge(MeasurementAggregator o) {
      method toString (line 53) | public String toString() {
      method round (line 57) | private double round(double value) {
    class BytesKey (line 62) | static class BytesKey implements Comparable<BytesKey> {
      method BytesKey (line 66) | BytesKey(byte[] value) {
      method toString (line 70) | @Override
      method hashCode (line 75) | @Override
      method equals (line 80) | @Override
      method compareTo (line 88) | @Override
    method parse (line 95) | static void parse(ByteBuffer a, int as, ByteBuffer b, int bs, boolean ...
    method ofRange (line 165) | static byte[] ofRange(ByteBuffer a, int as, ByteBuffer b, int bs, int ...
    method parseDouble (line 181) | static double parseDouble(byte[] b, int start, int end) {
    method main (line 199) | public static void main(String[] args) throws Exception {
    method merge (line 270) | static void merge(HashMap<BytesKey, MeasurementAggregator> a, HashMap<...

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_couragelee.java
  class CalculateAverage_couragelee (line 25) | public class CalculateAverage_couragelee {
    class Temperature (line 26) | private static class Temperature {
      method Temperature (line 35) | public Temperature(String tempStr) {
      method Temperature (line 43) | public Temperature(int cnt, double sum, double min, double max) {
      method addRecord (line 50) | public Temperature addRecord(String tempStr) {
      method merge (line 60) | public Temperature merge(Temperature newValue) {
      method update (line 69) | public void update(String tempStr) {
      method toString (line 77) | @Override
    method main (line 101) | public static void main(String[] args) throws IOException, Interrupted...
    method calculate (line 114) | private static void calculate() throws IOException, InterruptedExcepti...
    class Task (line 178) | private static class Task implements Callable<Map<String, Temperature>> {
      method Task (line 182) | public Task(long startPos, long size) throws IOException {
      method call (line 187) | @Override
    method handleRecord (line 257) | private static void handleRecord(Map<String, Temperature> map, String[...
    method handleRecordConcurrently (line 279) | private static void handleRecordConcurrently(String record) {
    method convertToString1 (line 306) | private static String[] convertToString1(byte[] bytes, int start, int ...
    method preHeatDoubleCache (line 316) | private static void preHeatDoubleCache() {
    method parseDouble (line 333) | private static double parseDouble(String tempStr) {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_criccomini.java
  class CalculateAverage_criccomini (line 27) | public class CalculateAverage_criccomini {
    class MeasurementAggregator (line 33) | private static class MeasurementAggregator {
      method toString (line 39) | public String toString() {
      method round (line 43) | private double round(double value) {
    method processSegment (line 48) | private static Map<String, MeasurementAggregator> processSegment(Mappe...
    method main (line 79) | public static void main(String[] args) throws IOException, Interrupted...

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_davecom.java
  class CalculateAverage_davecom (line 34) | public class CalculateAverage_davecom {
    method processChunk (line 51) | public static void processChunk(MappedByteBuffer chunk, long chunkSize) {
    method outputResults (line 118) | public static void outputResults() {
    method main (line 154) | public static void main(String[] args) throws IOException {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_davery22.java
  class CalculateAverage_davery22 (line 28) | public class CalculateAverage_davery22 {
    method main (line 33) | public static void main(String[] args) throws IOException, Interrupted...
    class Worker (line 139) | static class Worker implements Runnable {
      method Worker (line 145) | Worker(MappedByteBuffer buf) {
      method run (line 149) | @Override
      method hash (line 202) | static int hash(long word) {
      method mergeItem (line 206) | void mergeItem(long[] item, int len) { // format [n longs for key, 1...
      method mergeEntry (line 240) | void mergeEntry(long[] item) { // format: [n longs for key, 4 longs ...
    method indexOfSemicolon (line 274) | static int indexOfSemicolon(long word) {
    method statToBytes (line 280) | static int statToBytes(long stat, byte[] buf, int pos) {
    method mean (line 297) | static long mean(long sum, long count) {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_ddimtirov.java
  class CalculateAverage_ddimtirov (line 33) | public class CalculateAverage_ddimtirov {
    method main (line 46) | @SuppressWarnings("RedundantSuppression")
    method toString (line 89) | @Override
    method forFile (line 94) | public static List<FileSegment> forFile(Path file, int desiredSegments...
    method findNewLineAfter (line 112) | private static long findNewLineAfter(RandomAccessFile raf, long locati...
    class Accumulator (line 123) | static class Accumulator {
      method Accumulator (line 128) | public Accumulator(String name) {
      method accumulate (line 132) | public void accumulate(int min, int max, int count, long sum) {
      method toString (line 141) | @Override
    method summarizeTrackers (line 148) | private static String summarizeTrackers(Tracker[] trackers) {
    class Tracker (line 172) | static class Tracker {
      method processSegment (line 184) | private void processSegment(MemorySegment memory) {
      method processLine (line 242) | public void processLine(int nameHash, byte[] nameBytesBuffer, int na...

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_deemkeen.java
  class CalculateAverage_deemkeen (line 29) | public class CalculateAverage_deemkeen {
    method main (line 32) | public static void main(String[] args) throws IOException, ExecutionEx...
    method merge (line 149) | private static Result merge(Result v, Result value) {
    method merge (line 153) | private static Result merge(Result v, double value, double value1, dou...
    class Result (line 173) | static class Result {
      method Result (line 179) | Result(double value) {
      method toString (line 186) | @Override
      method round (line 193) | double round(double v) {
    class ByteArrayToResultMap (line 199) | static class ByteArrayToResultMap {
      method putOrMerge (line 204) | public void putOrMerge(byte[] key, int offset, int size, double temp...
      method hashCode (line 227) | private int hashCode(byte[] a, int fromIndex, int length) {
      method getPair (line 236) | private Pair getPair(byte[] key, int offset, int size) {
      method get (line 248) | public Result get(byte[] key, int offset, int size) {
      method getAll (line 253) | public List<Entry> getAll() {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_dkarampi.java
  class CalculateAverage_dkarampi (line 32) | public class CalculateAverage_dkarampi {
    method main (line 39) | public static void main(String[] args) throws Exception {
    method round (line 43) | private static double round(double value) {
    method areEqual (line 47) | private static boolean areEqual(byte[] a, int aLen, byte[] b, int bLen) {
    method nextPowerOfTwo (line 59) | public static int nextPowerOfTwo(int n) {
    method runFast (line 66) | private void runFast() throws Exception {
    method createStationHashTables (line 101) | private void createStationHashTables() {
    method createBuffers (line 111) | private List<Buffer> createBuffers(FileChannel channel) throws Excepti...
    method sortAndPrint (line 126) | private void sortAndPrint() {
    class Station (line 170) | private static class Station {
    method run (line 181) | @Override
    method process (line 188) | private void process(Buffer buffer) {
    method updateStations (line 242) | private void updateStations(int hash, byte[] name, short nameLen, doub...

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_dpsoft.java
  class CalculateAverage_dpsoft (line 30) | public class CalculateAverage_dpsoft {
    method main (line 35) | public static void main(String[] args) throws IOException {
    method sortSequentially (line 58) | private static Map<String, Measurement> sortSequentially(MeasurementMa...
    method getMemorySegments (line 69) | private static List<FileSegment> getMemorySegments(int numberOfSegment...
    method findSegment (line 98) | private static long findSegment(int i, int skipSegment, RandomAccessFi...
    class MeasurementExtractor (line 113) | static final class MeasurementExtractor implements Runnable {
      method MeasurementExtractor (line 118) | MeasurementExtractor(FileSegment memorySegment, Phaser phaser) {
      method run (line 124) | @Override
      method hashAndRewind (line 153) | private static int hashAndRewind(MappedByteBuffer mbb) {
      method readTemperatureFromBuffer (line 174) | private static int readTemperatureFromBuffer(MappedByteBuffer mbb) {
      method getMeasurements (line 201) | public MeasurementMap getMeasurements() {
      method skipToFirstLine (line 206) | private static void skipToFirstLine(MappedByteBuffer mbb) {
    class MeasurementMap (line 214) | static class MeasurementMap {
      method getOrCompute (line 217) | public Measurement getOrCompute(int hash, MappedByteBuffer mbb, int ...
      method compute (line 228) | private Measurement compute(int hash, MappedByteBuffer mbb, int posi...
      method merge (line 252) | public MeasurementMap merge(MeasurementMap otherMap) {
    class Measurement (line 276) | static final class Measurement {
      method Measurement (line 285) | public Measurement(byte[] name, int nameHash) {
      method equalsTo (line 290) | public static boolean equalsTo(byte[] name, MappedByteBuffer mbb, in...
      method sample (line 301) | public void sample(int temp) {
      method merge (line 308) | public Measurement merge(Measurement m2) {
      method toString (line 316) | public String toString() {
      method round (line 320) | private static double round(double value) {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_dqhieuu.java
  class CalculateAverage_dqhieuu (line 27) | public class CalculateAverage_dqhieuu {
    method round (line 30) | private static double round(double value) {
    class MeasurementAggregator (line 34) | private static class MeasurementAggregator {
      method toString (line 41) | @Override
    method main (line 47) | public static void main(String[] args) throws IOException {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_ebarlas.java
  class CalculateAverage_ebarlas (line 31) | public class CalculateAverage_ebarlas {
    method makeUnsafe (line 42) | private static Unsafe makeUnsafe() {
    method main (line 53) | public static void main(String[] args) throws IOException, Interrupted...
    method printResults (line 87) | private static void printResults(Stats[] stats) { // adheres to Gunnar...
    method convert (line 98) | private static byte[] convert(long keyAddr, int keyLen, int keyLastByt...
    method format (line 116) | private static String format(Stats st) { // adheres to expected output...
    method round (line 120) | private static double round(double value) { // Gunnar's round function
    method foldStats (line 124) | private static Stats[] foldStats(List<Partition> partitions) { // fold...
    method foldFootersAndHeaders (line 141) | private static void foldFootersAndHeaders(List<Partition> partitions) ...
    method mergeFooterAndHeader (line 157) | private static byte[] mergeFooterAndHeader(byte[] footer, byte[] heade...
    method processSegment (line 170) | private static Partition processSegment(MemorySegment ms, boolean firs...
    method doProcessSegment (line 178) | private static long doProcessSegment(MemorySegment ms, long offset, St...
    method equals (line 354) | private static boolean equals(long key1, int len1, long key2, int len2) {
    method findInTable (line 373) | private static Stats findInTable(Stats[] stats, int hash, long keyAddr...
    method newStats (line 386) | private static Stats newStats(long keyAddr, int keyLen, int keyLastByt...
    method readFooter (line 393) | private static byte[] readFooter(MemorySegment ms, long offset) { // r...
    method readHeader (line 401) | private static ByteArrayOffset readHeader(MemorySegment ms) { // read ...
    class Partition (line 415) | private static class Partition {
      method Partition (line 420) | Partition(byte[] header, byte[] footer, Stats[] stats) {
    class Stats (line 427) | private static class Stats { // min, max, and sum values are modeled w...
      method Stats (line 437) | Stats(long keyAddr, int keyLen, int lastBytes, int hash) {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_entangled90.java
  class CalculateAverage_entangled90 (line 33) | public class CalculateAverage_entangled90 {
    method main (line 39) | public static void main(String[] args) throws IOException {
  class AggregatedProcessor (line 53) | class AggregatedProcessor {
    method addMeasure (line 59) | public void addMeasure(double value) {
    method combine (line 66) | public void combine(AggregatedProcessor processor) {
    method mean (line 73) | public double mean() {
    method round (line 77) | private static double round(double d) {
    method toString (line 81) | @Override
  class ProcessorMap (line 87) | class ProcessorMap {
    method printResults (line 90) | public void printResults() {
    method addMeasure (line 99) | public void addMeasure(BytesWrapper city, double value) {
    method combine (line 108) | private void combine(BytesWrapper city, AggregatedProcessor processor) {
    method combineAll (line 118) | public static ProcessorMap combineAll(ProcessorMap... processors) {
  class PooledChunkProcessor (line 129) | class PooledChunkProcessor implements Consumer<ByteBuffer> {
    method PooledChunkProcessor (line 136) | public PooledChunkProcessor(int n) {
    method accept (line 167) | @Override
    method result (line 177) | public ProcessorMap result() {
  class ChunkProcessor (line 189) | class ChunkProcessor implements Consumer<ByteBuffer> {
    method processChunk (line 192) | public void processChunk(ByteBuffer bb) {
    method accept (line 197) | @Override
    method processRow (line 204) | public boolean processRow(ByteBuffer bb) {
    method wrapperFromBB (line 219) | private static BytesWrapper wrapperFromBB(ByteBuffer bb, int length) {
    method findSemiColon (line 226) | private int findSemiColon(ByteBuffer bb) {
    method parseDoubleNewLine (line 235) | private static double parseDoubleNewLine(ByteBuffer bb) {
  class Scanner (line 255) | class Scanner {
    method scan (line 258) | public void scan(String fileName, Consumer<ByteBuffer> consumer, long ...
    method findLastNewLine (line 287) | public int findLastNewLine(ByteBuffer bb) {
  class BytesWrapper (line 297) | class BytesWrapper implements Comparable<BytesWrapper> {
    method BytesWrapper (line 300) | public BytesWrapper(byte[] bytes) {
    method equals (line 304) | @Override
    method hashCode (line 314) | @Override
    method toString (line 319) | @Override
    method compareTo (line 324) | @Override

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_eriklumme.java
  class CalculateAverage_eriklumme (line 35) | public class CalculateAverage_eriklumme {
    method CalculateAverage_eriklumme (line 49) | private CalculateAverage_eriklumme() throws Exception {
    class StationMeasurement (line 101) | private static class StationMeasurement {
      method StationMeasurement (line 104) | private StationMeasurement(ByteArrayWrapper stationName) {
      method stringName (line 113) | public String stringName() {
    type Mode (line 118) | private enum Mode {
    method equals (line 126) | @Override
    method hashCode (line 136) | @Override
    class DataProcessor (line 142) | public class DataProcessor implements Callable<Map<ByteArrayWrapper, S...
      method DataProcessor (line 146) | public DataProcessor(int processorIndex) {
      method call (line 150) | @Override
      method storeStation (line 225) | private void storeStation(Map<ByteArrayWrapper, StationMeasurement> ...
    method main (line 256) | public static void main(String[] args) throws Exception {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_faridtmammadov.java
  class CalculateAverage_faridtmammadov (line 34) | public class CalculateAverage_faridtmammadov {
    method main (line 37) | public static void main(String[] args) throws IOException {
    method getSegments (line 48) | private static List<MemorySegment> getSegments(int numberOfChunks) thr...
    method aggregate (line 84) | private static Map<String, Aggregate> aggregate(MemorySegment segment) {
    method parseCity (line 105) | private static String parseCity(MemorySegmentIterator iterator) {
    method parseTemperature (line 118) | public static long parseTemperature(MemorySegmentIterator iterator) {
    method printFormatted (line 137) | private static void printFormatted(Map<String, Aggregate> map) {
    class Aggregate (line 149) | static class Aggregate {
      method Aggregate (line 155) | public Aggregate(long temperature) {
      method update (line 162) | public Aggregate update(long temp) {
      method update (line 170) | public Aggregate update(Aggregate agg) {
      method toString (line 178) | public String toString() {
    class MemorySegmentIterator (line 183) | static class MemorySegmentIterator {
      method MemorySegmentIterator (line 188) | public MemorySegmentIterator(MemorySegment segment) {
      method hasNext (line 193) | public boolean hasNext() {
      method getNextByte (line 197) | public byte getNextByte() {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_fatroom.java
  class CalculateAverage_fatroom (line 25) | public class CalculateAverage_fatroom {
    class MeasurementAggregator (line 29) | private static class MeasurementAggregator {
      method MeasurementAggregator (line 35) | public MeasurementAggregator() {
      method consume (line 42) | public void consume(double value) {
      method combineWith (line 49) | public MeasurementAggregator combineWith(MeasurementAggregator that) {
      method toString (line 57) | @Override
    method main (line 65) | public static void main(String[] args) throws IOException, Interrupted...
    method processBuffer (line 102) | private static StationMap processBuffer(MappedByteBuffer source, int l...
    method parseMeasurement (line 135) | static double parseMeasurement(byte[] source, int size) {
    class Station (line 145) | static class Station {
      method Station (line 151) | public Station(int hash, byte[] bytes, int length, Station next) {
      method getKey (line 159) | public String getKey() {
    class StationMap (line 164) | static class StationMap {
      method get (line 167) | MeasurementAggregator get(int hash, byte[] buffer, int length) {
      method entrySet (line 180) | private List<Station> entrySet() {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_felix19350.java
  class CalculateAverage_felix19350 (line 34) | public class CalculateAverage_felix19350 {
    class CityRef (line 40) | private static class CityRef {
      method CityRef (line 46) | public CityRef(ByteBuffer byteBuffer, int startIdx, int length, int ...
      method cityName (line 53) | public String cityName() {
      method hashCode (line 57) | @Override
      method equals (line 62) | @Override
    class ResultRow (line 87) | private static class ResultRow {
      method ResultRow (line 94) | public ResultRow(int initialValue) {
      method mergeValue (line 101) | public void mergeValue(int value) {
      method toString (line 108) | public String toString() {
      method round (line 112) | private double round(double value) {
      method mergeResult (line 116) | public void mergeResult(ResultRow value) {
    method createStreamOf (line 128) | public static Stream<AverageAggregatorTask> createStreamOf(List<ByteBu...
    method processChunk (line 132) | public Map<CityRef, ResultRow> processChunk() {
    method processLine (line 143) | private int processLine(Map<CityRef, ResultRow> measurements, ByteBuff...
    method main (line 206) | public static void main(String[] args) throws IOException {
    method calculateMemorySegments (line 246) | private static List<ByteBuffer> calculateMemorySegments(int numChunks)...

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_filiphr.java
  class CalculateAverage_filiphr (line 59) | public class CalculateAverage_filiphr {
    class Measurement (line 64) | private static final class Measurement {
      method add (line 71) | private void add(long value) {
      method combine (line 78) | public static Measurement combine(Measurement m1, Measurement m2) {
      method toString (line 87) | @Override
      method round (line 92) | private double round(double value) {
    method main (line 97) | public static void main(String[] args) throws IOException {
    method mergeMaps (line 119) | private static Map<Key, Measurement> mergeMaps(Map<Key, Measurement> m...
    method parseBuffer (line 155) | private static Map<Key, Measurement> parseBuffer(ByteBuffer bb) {
    method fineChannelStream (line 224) | private static Stream<ByteBuffer> fineChannelStream(FileChannel fileCh...
    method fileChannelIterator (line 228) | private static Iterator<ByteBuffer> fileChannelIterator(FileChannel fi...
    class StoredKey (line 269) | private static final class StoredKey implements Key {
      method StoredKey (line 274) | private StoredKey(byte[] keyBytes, int hash) {
      method equals (line 279) | @Override
      method hashCode (line 296) | @Override
    class SearchKey (line 306) | private static final class SearchKey implements Key {
      method SearchKey (line 312) | private SearchKey(byte[] buffer, int hash, int limit) {
      method equals (line 318) | @Override
      method hashCode (line 336) | @Override
    type Key (line 342) | private interface Key {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_flippingbits.java
  class CalculateAverage_flippingbits (line 38) | public class CalculateAverage_flippingbits {
    method initUnsafe (line 54) | private static Unsafe initUnsafe() {
    method main (line 65) | public static void main(String[] args) throws IOException {
    method getSegments (line 86) | private static long[][] getSegments() throws IOException {
    method processSegment (line 125) | private static FasterHashMap processSegment(long startOfSegment, long ...
    class Station (line 173) | private static class Station {
      method Station (line 184) | public Station(int nameHash, int nameLength, long nameAddress, short...
      method getName (line 191) | public String getName() {
      method addMeasurementAndComputeAggregate (line 197) | public void addMeasurementAndComputeAggregate(short measurement) {
      method aggregateRemainingMeasurements (line 217) | public void aggregateRemainingMeasurements() {
      method mergeWith (line 226) | public void mergeWith(Station otherStation) {
      method nameEquals (line 233) | public boolean nameEquals(long otherNameAddress) {
      method toString (line 249) | public String toString() {
    class FasterHashMap (line 266) | private static class FasterHashMap {
      method getOffsetIdx (line 273) | private int getOffsetIdx(int nameHash, int nameLength, long nameAddr...
      method addEntry (line 286) | public void addEntry(int nameHash, int nameLength, long nameAddress,...
      method mergeWith (line 300) | public FasterHashMap mergeWith(FasterHashMap otherMap) {
      method getEntries (line 317) | public List<Station> getEntries() {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_fragmede.java
  class CalculateAverage_fragmede (line 27) | public class CalculateAverage_fragmede {
    method of (line 33) | public static Measurement of(String[] parts) {
    method toString (line 65) | public String toString() {
    method round (line 69) | private double round(double value) {
    class MeasurementAggregator (line 74) | private static class MeasurementAggregator {
    method main (line 81) | public static void main(String[] args) throws IOException {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_gabrielfoo.java
  class CalculateAverage_gabrielfoo (line 29) | public class CalculateAverage_gabrielfoo {
    class ResultRow (line 35) | private static class ResultRow {
      method toString (line 41) | public String toString() {
      method updateMinMax (line 45) | public void updateMinMax(double incoming) {
      method combine (line 52) | public void combine(ResultRow other) {
    method mapFileToMemory (line 60) | public static MappedByteBuffer[] mapFileToMemory(final RandomAccessFil...
    method main (line 85) | public static void main(String[] args) throws Exception {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_gabrielreid.java
  class CalculateAverage_gabrielreid (line 38) | public class CalculateAverage_gabrielreid {
    method main (line 57) | public static void main(String[] args) throws IOException {
    method parseNumFromLine (line 141) | static short parseNumFromLine(byte[] buf, int offset, int len) {
    class CitySummary (line 152) | static class CitySummary {
      method CitySummary (line 158) | public CitySummary(int value) {
      method add (line 165) | void add(int value) {
      method add (line 172) | CitySummary add(CitySummary other) {
    class ByteSlice (line 187) | static final class ByteSlice {
      method ByteSlice (line 193) | public ByteSlice(byte[] buf, int offset, int len) {
      method valueAsString (line 199) | public String valueAsString() {
      method hashCode (line 203) | public int hashCode() {
      method hashCode (line 207) | public static int hashCode(byte[] buf, int offset, int len) {
      method equals (line 223) | @Override
      method equal (line 231) | public static boolean equal(ByteSlice a, ByteSlice b) {
      method equal (line 235) | public static boolean equal(ByteSlice a, byte[] buf, int offset, int...
    class SummaryTable (line 245) | static final class SummaryTable {
      method SummaryTable (line 257) | SummaryTable(int size) {
      method reset (line 263) | void reset() {
      method addAll (line 270) | public void addAll(SummaryTable other) {
      method putValueNode (line 279) | private void putValueNode(ValueNode valueNode) {
      method putTemperatureValue (line 294) | public void putTemperatureValue(byte[] buf, int offset, int len, int...
      method resizeIfNecessary (line 316) | private void resizeIfNecessary() {
      method toMap (line 336) | public Map<String, CitySummary> toMap() {
    class BlockBuilder (line 351) | static class BlockBuilder {
      method BlockBuilder (line 358) | public BlockBuilder(int readBufferSize) {
      method reset (line 363) | void reset() {
      method buildSummaryTable (line 370) | public Map<String, CitySummary> buildSummaryTable(int readByteCount,...
      method parseLineSegments (line 375) | private void parseLineSegments(int byteCount, boolean skipToNewline) {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_gamlerhart.java
  class CalculateAverage_gamlerhart (line 55) | public class CalculateAverage_gamlerhart {
    method main (line 65) | public static void main(String[] args) throws Exception {
    method parseSection (line 88) | private static PrivateHashMap parseSection(long start, long end, long ...
    method splitFileIntoSections (line 137) | private static ArrayList<Section> splitFileIntoSections(long fileSize,...
    class PrivateHashMap (line 151) | private static class PrivateHashMap {
      class Value (line 165) | private class Value {
        method Value (line 166) | public Value(double min, double max, double sum, long count) {
      method PrivateHashMap (line 182) | public PrivateHashMap() {
      method add (line 186) | public void add(MemorySegment file, long pos, int len, double val) {
      method calculateHash (line 191) | private static int calculateHash(MemorySegment file, long pos, int l...
      method doAdd (line 206) | private void doAdd(MemorySegment file, int hash, long pos, int len, ...
      method isSameEntry (line 241) | private boolean isSameEntry(MemorySegment file, long slotEntry, long...
      method isSame (line 248) | private static boolean isSame(MemorySegment file, long i1, long i2, ...
      method fillMerge (line 278) | public void fillMerge(MemorySegment file, TreeMap<String, ResultRow>...
    method toString (line 335) | public String toString() {
    method round (line 339) | private double round(double value) {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_gauravdeshmukh.java
  class CalculateAverage_gauravdeshmukh (line 34) | public class CalculateAverage_gauravdeshmukh {
    class ByteString (line 44) | private static class ByteString {
      method ByteString (line 48) | public ByteString(byte[] bytes) {
      method getBytes (line 53) | public byte[] getBytes() {
      method equals (line 57) | @Override
      method hashCode (line 62) | @Override
      method toString (line 67) | @Override
    class Measurement (line 73) | private static class Measurement {
      method Measurement (line 77) | public Measurement(ByteString station, int value) {
      method toString (line 82) | @Override
    class MeasurementAggregator (line 92) | private static class MeasurementAggregator {
      method toString (line 98) | public String toString() {
      method round (line 102) | private double round(double value) {
    method main (line 107) | public static void main(String[] args) throws Exception {
    method findEolInLong (line 177) | private static int findEolInLong(long word) {
    method findSemiColonInLong (line 181) | private static int findSemiColonInLong(long word) {
    method findPositionInLong (line 185) | private static int findPositionInLong(long word, long searchMask) {
    class ParallelFileReaderTask (line 191) | private static class ParallelFileReaderTask implements Callable<Map<By...
      method ParallelFileReaderTask (line 199) | public ParallelFileReaderTask(long start, long size, MappedByteBuffe...
      method call (line 207) | @Override
      method getIntegerFromTemperatureBytes (line 297) | private int getIntegerFromTemperatureBytes(byte[] numberBytes) {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_gigiblender.java
  class CalculateAverage_gigiblender (line 29) | public class CalculateAverage_gigiblender {
    class HashTable (line 47) | static class HashTable {
      method HashTable (line 76) | public HashTable() {
      method string_addr_and_length (line 81) | private long string_addr_and_length(long hash) {
      method string_addr (line 85) | private static long string_addr(long encoded_str_addr) {
      method string_length (line 89) | private static long string_length(long encoded_str_addr) {
      method count_max_min (line 93) | private long count_max_min(long hash) {
      method mask_min (line 97) | private static short mask_min(long count_max_min) {
      method mask_max (line 102) | private static short mask_max(long count_max_min) {
      method mask_count (line 106) | private static int mask_count(long count_max_min) {
      method encode_count_max_min (line 110) | private static long encode_count_max_min(int count, short max, short...
      method sum (line 114) | private long sum(long hash) {
      method string_equals (line 118) | private static boolean string_equals(long string_addr, long entry_st...
      method insert (line 150) | public void insert(long hash, long string_addr, byte string_size, lo...
      method apply_mask (line 221) | private static long apply_mask(long hash) {
      method update_res (line 225) | public void update_res(TreeMap<String, Result> result_map) {
      method dump_insert (line 267) | public void dump_insert(long map_entry, long hash, long string_addr,...
    class Result (line 277) | static class Result {
      method round (line 283) | private double round(double value) {
      method toString (line 287) | @Override
    method compute_slice (line 293) | private static void compute_slice(final long base_addr, final long sli...
    method extract_number (line 374) | private static long extract_number(long number_mem_value, long number_...
    method get_fractional_part (line 396) | private static int get_fractional_part(long number_mem_value, long num...
    method skip_sign (line 400) | private static int skip_sign(long number_mem_value) {
    method get_sign (line 407) | private static int get_sign(long number_mem_value) {
    method compute_hash (line 414) | private static long compute_hash(long x) { // Hash burrowed from artsi...
    method dump (line 421) | private static void dump(long startAddr, long endAddr) {
    method get_byte_0_index (line 440) | private static int get_byte_0_index(long value) {
    method get_dot_index (line 446) | private static int get_dot_index(long value) {
    method get_newline_index (line 451) | private static int get_newline_index(long value) {
    method get_semicolon_index (line 456) | private static int get_semicolon_index(long value) {
    method main (line 463) | public static void main(String[] args) throws IOException, Interrupted...

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_giovannicuccu.java
  class CalculateAverage_giovannicuccu (line 46) | public class CalculateAverage_giovannicuccu {
    type PartitionCalculator (line 61) | public static interface PartitionCalculator {
      method computePartitionsBoundaries (line 62) | List<PartitionBoundary> computePartitionsBoundaries(Path path);
    class ProcessorPartitionCalculator (line 65) | public static class ProcessorPartitionCalculator implements PartitionC...
      method computePartitionsBoundaries (line 67) | public List<PartitionBoundary> computePartitionsBoundaries(Path path) {
      method findEndSegment (line 90) | private long findEndSegment(RandomAccessFile raf, long location, lon...
    class MeasurementAggregatorVectorized (line 101) | private static class MeasurementAggregatorVectorized {
      method MeasurementAggregatorVectorized (line 113) | public MeasurementAggregatorVectorized(byte[] data, int offset, int ...
      method add (line 124) | public void add(int value) {
      method merge (line 135) | public void merge(MeasurementAggregatorVectorized other) {
      method toString (line 142) | @Override
      method round (line 147) | private double round(double value) {
      method getMin (line 151) | public int getMin() {
      method getHash (line 155) | public int getHash() {
      method getLen (line 159) | public int getLen() {
      method dataEquals (line 163) | public boolean dataEquals(byte[] data, int offset) {
      method getName (line 168) | public String getName() {
      method getOffset (line 172) | public int getOffset() {
      method getData (line 176) | public byte[] getData() {
    class MeasurementListVectorized (line 181) | private static class MeasurementListVectorized {
      method add (line 192) | public void add(int len, int hash, int value, MemorySegment memorySe...
      method addWithByteVector (line 208) | public void addWithByteVector(ByteVector chunk1, int len, int hash, ...
      method merge (line 226) | public void merge(MeasurementAggregatorVectorized measurementAggrega...
      method getMeasurements (line 240) | public MeasurementAggregatorVectorized[] getMeasurements() {
    class MMapReaderMemorySegment (line 246) | private static class MMapReaderMemorySegment {
      method MMapReaderMemorySegment (line 253) | public MMapReaderMemorySegment(Path path, PartitionCalculator partit...
      method elaborate (line 259) | public TreeMap<String, MeasurementAggregatorVectorized> elaborate() ...
      method reduce (line 283) | private TreeMap<String, MeasurementAggregatorVectorized> reduce(List...
      method merge (line 304) | private void merge(MeasurementListVectorized result, MeasurementList...
      method computeListForPartition (line 318) | private MeasurementListVectorized computeListForPartition(FileChanne...
      method hash (line 413) | private static int hash(MemorySegment memorySegment, long start, int...
      method convertIntoNumber (line 427) | private static int convertIntoNumber(int decimalSepPos, long numberW...
    method main (line 451) | public static void main(String[] args) throws IOException {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_gnabyl.java
  class CalculateAverage_gnabyl (line 34) | public class CalculateAverage_gnabyl {
    method reduceSizeToFitLineBreak (line 45) | private static int reduceSizeToFitLineBreak(FileChannel channel, long ...
    method readChunks (line 69) | private static List<Chunk> readChunks(int nbChunks) throws IOException {
    class StationData (line 110) | private static class StationData {
      method StationData (line 114) | public StationData(float value) {
      method update (line 121) | public void update(float value) {
      method getMean (line 128) | public float getMean() {
      method getMin (line 132) | public float getMin() {
      method getMax (line 136) | public float getMax() {
      method mergeWith (line 140) | public void mergeWith(StationData other) {
    method round (line 149) | static float round(float value) {
    class ChunkResult (line 153) | private static class ChunkResult {
      method ChunkResult (line 156) | public ChunkResult() {
      method getData (line 160) | public StationData getData(int hash) {
      method addStation (line 164) | public void addStation(int hash, float value) {
      method print (line 168) | public void print() {
      method mergeWith (line 184) | public void mergeWith(ChunkResult other) {
    method processChunk (line 200) | private static ChunkResult processChunk(Chunk chunk) {
    method processAllChunks (line 259) | private static ChunkResult processAllChunks(List<Chunk> chunks) throws...
    method main (line 264) | public static void main(String[] args) throws IOException, Interrupted...

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_gnmathur.java
  class CalculateAverage_gnmathur (line 41) | public class CalculateAverage_gnmathur {
    class Measurement (line 47) | public static final class Measurement {
      method Measurement (line 53) | public Measurement() {
      method addReading (line 56) | public synchronized void addReading(double reading) {
      method round (line 63) | private static double round(double value) {
      method toString (line 67) | @Override
    method updateMeasurement (line 74) | private static void updateMeasurement(String line) {
    method run (line 91) | @Override
    method adjustEnd (line 126) | public static long adjustEnd(final String fileName, long end) throws I...
    method readChunked (line 141) | public static void readChunked(final String fileName, final long chunk...
    method main (line 161) | public static void main(String[] args) {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_godofwharf.java
  class CalculateAverage_godofwharf (line 41) | public class CalculateAverage_godofwharf {
    method main (line 64) | public static void main(String[] args) throws Exception {
    method compute (line 75) | private static Map<String, MeasurementAggregator> compute() throws Exc...
    class Job (line 84) | public static class Job {
      method Job (line 90) | public Job(final int nThreads) {
      method compute (line 98) | public void compute(final String path) throws Exception {
      method mergeInternal (line 171) | private void mergeInternal(final State state) {
      method sort (line 185) | public Map<String, MeasurementAggregator> sort() {
      method findNextOccurrenceOfNewLine (line 192) | private static LineMetadata findNextOccurrenceOfNewLine(final ByteBu...
      method findNewLinesVectorized (line 236) | private static SearchResult findNewLinesVectorized(final byte[] page,
      method breakFileIntoSplits (line 330) | private static List<Split> breakFileIntoSplits(final RandomAccessFil...
      method breakSplitIntoPages (line 368) | private static List<Page> breakSplitIntoPages(final long splitStartO...
    class State (line 400) | public static class State {
      method State (line 403) | public State() {
      method update (line 411) | public void update(final Measurement m) {
      class AggregationKey (line 423) | public static class AggregationKey {
        method AggregationKey (line 427) | public AggregationKey(final byte[] station,
        method toString (line 433) | @Override
        method hashCode (line 438) | @Override
        method equals (line 443) | @Override
    class MeasurementAggregator (line 454) | public static class MeasurementAggregator {
      method MeasurementAggregator (line 460) | public MeasurementAggregator(final double min,
      method toString (line 470) | public String toString() {
      method round (line 477) | private double round(double value) {
      method merge (line 481) | private void merge(final MeasurementAggregator m2) {
    class NumberUtils (line 489) | public static class NumberUtils {
      method toDigit (line 490) | public static int toDigit(final char c) {
      method fastMul10 (line 494) | public static int fastMul10(final int i) {
      method parseDouble2 (line 498) | public static double parseDouble2(final byte[] b,
    method Measurement (line 546) | public Measurement(byte[] station,
    class SearchResult (line 571) | public static class SearchResult {
      method SearchResult (line 575) | public SearchResult(final int[] offsets,
    method printDebugMessage (line 582) | private static void printDebugMessage(final String message,

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_gonix.java
  class CalculateAverage_gonix (line 32) | public class CalculateAverage_gonix {
    method main (line 36) | public static void main(String[] args) throws IOException {
    method buildChunks (line 52) | private static List<MappedByteBuffer> buildChunks(RandomAccessFile fil...
    class Aggregator (line 80) | private static class Aggregator {
      method Aggregator (line 101) | Aggregator() {
      method processChunk (line 110) | Aggregator processChunk(MappedByteBuffer buf) {
      method processChunkLongs (line 130) | Aggregator processChunkLongs(ByteBuffer buf, int limit) {
      method stream (line 198) | public Stream<Entry> stream() {
      method hash1 (line 204) | private static long hash1(long value) {
      method hash (line 208) | private static long hash(long hash, long value) {
      method hash (line 212) | private static int hash(long hash) {
      method valueSepMark (line 217) | private static long valueSepMark(long keyLong) {
      method tailBits (line 225) | private static int tailBits(long valueSepMark) {
      method valueOffset (line 229) | private static int valueOffset(int tailBits) {
      method tailAndLen (line 233) | private static long tailAndLen(int tailBits, long keyLong, long keyL...
      method decimalSepMark (line 239) | private static int decimalSepMark(long value) {
      method decimalValue (line 249) | private static int decimalValue(int decimalSepMark, long value) {
      method nextKeyOffset (line 273) | private static int nextKeyOffset(int decimalSepMark) {
      method add1 (line 277) | private void add1(ByteBuffer buf, int start, long tailAndLen, int ha...
      method add2 (line 287) | private void add2(ByteBuffer buf, int start, long keyLong, long tail...
      method addN (line 297) | private void addN(ByteBuffer buf, int start, long tailAndLen, int ha...
      method create (line 307) | private int create(ByteBuffer buf, int start, long tailAndLen, int m...
      method update1 (line 330) | private boolean update1(int offset, long tailAndLen, int measurement) {
      method update2 (line 338) | private boolean update2(int offset, long keyLong, long tailAndLen, i...
      method updateN (line 346) | private boolean updateN(int offset, ByteBuffer buf, int start, long ...
      method updateStats (line 365) | private void updateStats(int memPos, int measurement) {
      class Entry (line 376) | public static class Entry {
        method Entry (line 381) | Entry(long[] mem, int offset) {
        method getKey (line 386) | public String getKey() {
        method add (line 403) | public Entry add(Entry other) {
        method getValue (line 415) | public Entry getValue() {
        method toString (line 419) | @Override
        method round (line 427) | private static double round(double value) {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_gonixunsafe.java
  class CalculateAverage_gonixunsafe (line 31) | public class CalculateAverage_gonixunsafe {
    method main (line 36) | public static void main(String[] args) throws Exception {
    class Aggregator (line 66) | private static class Aggregator {
      method alloc (line 94) | private static long alloc(long size) {
      method buildChunks (line 112) | static List<Chunk> buildChunks(RandomAccessFile file, int count) thr...
      method processChunk (line 140) | Aggregator processChunk(Chunk chunk) {
      method processChunk (line 167) | private Aggregator processChunk(long startAddr, long endAddr) {
      method hash1 (line 235) | private static long hash1(long value) {
      method hash (line 239) | private static long hash(long hash, long value) {
      method hash (line 243) | private static int hash(long hash) {
      method valueSepMark (line 248) | private static long valueSepMark(long keyLong) {
      method tailBits (line 256) | private static int tailBits(long valueSepMark) {
      method valueOffset (line 260) | private static int valueOffset(int tailBits) {
      method tailAndLen (line 264) | private static long tailAndLen(int tailBits, long keyLong, long keyL...
      method decimalSepMark (line 270) | private static int decimalSepMark(long value) {
      method decimalValue (line 280) | private static int decimalValue(int decimalSepMark, long value) {
      method nextKeyOffset (line 304) | private static int nextKeyOffset(int decimalSepMark) {
      method add1 (line 308) | private void add1(long keyStartAddr, long tailAndLen, int hash, int ...
      method add2 (line 318) | private void add2(long keyStartAddr, long keyLong, long tailAndLen, ...
      method addN (line 328) | private void addN(long keyStartAddr, long tailAndLen, int hash, int ...
      method create (line 338) | private long create(long keyStartAddr, long tailAndLen, int hash, in...
      method update1 (line 359) | private static boolean update1(long entryAddr, long tailAndLen, int ...
      method update2 (line 368) | private static boolean update2(long entryAddr, long keyLong, long ta...
      method updateN (line 380) | private static boolean updateN(long entryAddr, long keyStartAddr, lo...
      method updateStats (line 399) | private static void updateStats(long addr, int measurement) {
      method updateStats (line 415) | private static void updateStats(long addr, long count, long sum, int...
      method merge (line 431) | public Aggregator merge(Aggregator other) {
      method toString (line 470) | @Override
      class Chunk (line 492) | static class Chunk {
        method Chunk (line 499) | Chunk(MemorySegment file, long chunkStartAddr, long chunkEndAddr, ...
      class Entry (line 508) | static class Entry implements Comparable<Entry> {
        method Entry (line 513) | Entry(long entryAddr) {
        method compareTo (line 524) | @Override
        method toString (line 529) | @Override
        method appendTo (line 537) | void appendTo(StringBuilder sb) {
        method round (line 548) | private static double round(double value) {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_hallvard.java
  class CalculateAverage_hallvard (line 33) | public class CalculateAverage_hallvard {
    class ResultRow (line 35) | private static class ResultRow {
      method ResultRow (line 41) | public ResultRow(String name) {
      method ResultRow (line 49) | public ResultRow(String name, int value) {
      method toString (line 55) | @Override
      method update (line 60) | void update(int value) {
      method update (line 71) | void update(ResultRow row) {
    class Trie (line 83) | private static class Trie<T> {
      method toString (line 87) | String toString(String prefix, String separator, String suffix, Func...
      method forEach (line 113) | void forEach(Consumer<T> consumer) {
      method forEach (line 117) | private void forEach(Node<T> node, Consumer<T> consumer) {
      method getNode (line 129) | Node<T> getNode(ByteBuffer byteBuffer, int start, int end) {
      method createDefaultNode (line 169) | final Node<T> createDefaultNode() {
      class Node (line 173) | private static class Node<T> {
        method Node (line 179) | Node() {
        method Node (line 185) | Node(int length) {
        method idx (line 190) | static final int idx(byte b) {
    method computeAverages (line 196) | private static boolean computeAverages(ByteBuffer byteBuffer, int star...
    method doTask (line 260) | Trie<ResultRow> doTask(FileChannel channel) {
    method main (line 278) | public static void main(String[] args) throws IOException {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_hchiorean.java
  class CalculateAverage_hchiorean (line 39) | public class CalculateAverage_hchiorean {
    method parseLines (line 41) | private static Map<String, double[]> parseLines(Integer key, CharBuffe...
    method parseSanitizedCharBuffer (line 62) | private static void parseSanitizedCharBuffer(CharSequence sequence, Ma...
    method addParsedDataToMap (line 91) | private static void addParsedDataToMap(Map<String, double[]> data, Str...
    method readFile (line 103) | static Map<String, double[]> readFile(File file) throws Exception {
    method aggregate (line 162) | private static void aggregate(Map<String, double[]> chunks, Map<String...
    method print (line 176) | static void print(Map<String, double[]> dataMap) {
    method round (line 188) | private static double round(double value) {
    method format (line 192) | private static String format(Map.Entry<String, double[]> entry) {
    method main (line 200) | public static void main(String[] args) throws Exception {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_hundredwatt.java
  class CalculateAverage_hundredwatt (line 31) | public class CalculateAverage_hundredwatt {
    class Record (line 89) | static class Record {
      method Record (line 95) | public Record() {
      method updateWith (line 102) | public void updateWith(short value) {
      method toString (line 109) | @Override
      method round (line 114) | double round(double v) {
    class HashTable (line 122) | static class HashTable {
      method HashTable (line 131) | public HashTable() {
      method putOrMerge (line 137) | public void putOrMerge(int hash, int length, long[] key, short value) {
      method getAll (line 155) | public List<Entry> getAll() {
    method keyToString (line 166) | private static String keyToString(long[] key) {
    method merge (line 186) | private static Record merge(Record v, Record value) {
    method processChunk (line 195) | private static int processChunk(ByteBuffer bb, HashTable hashTable, lo...
    method main (line 267) | public static void main(String[] args) throws IOException {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_ianopolous.java
  class CalculateAverage_ianopolous (line 36) | public class CalculateAverage_ianopolous {
    method main (line 41) | public static void main(String[] args) throws Exception {
    method matchingStationBytes (line 66) | public static boolean matchingStationBytes(int start, int end, MappedB...
    method parseStation (line 74) | public static Stat parseStation(int start, int end, int hash, MappedBy...
    method parseStats (line 102) | public static List<List<Stat>> parseStats(long startByte, long endByte) {
    class Stat (line 168) | public static class Stat {
      method Stat (line 174) | public Stat(byte[] name) {
      method add (line 178) | public void add(short value) {
      method merge (line 187) | public Stat merge(Stat value) {
      method round (line 197) | private static double round(double value) {
      method name (line 201) | public String name() {
      method toString (line 205) | public String toString() {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_ianopolousfast.java
  class CalculateAverage_ianopolousfast (line 43) | public class CalculateAverage_ianopolousfast {
    method main (line 52) | public static void main(String[] args) throws Exception {
    method matchingStationBytes (line 80) | public static boolean matchingStationBytes(long start, long end, Memor...
    method hash (line 94) | private static int hash(MemorySegment memorySegment, long start, int l...
    method createStation (line 108) | public static Stat createStation(long start, long end, MemorySegment b...
    method dedupeStation (line 115) | public static Stat dedupeStation(long start, long end, MemorySegment b...
    method getMinus (line 130) | public static short getMinus(long d) {
    method processTemperature (line 134) | public static void processTemperature(long lineSplit, int size, Memory...
    method lineSize (line 149) | private static int lineSize(long lineStart, MemorySegment buffer) {
    method keySize (line 161) | private static int keySize(int lineSize, long lineStart, MemorySegment...
    method parseStats (line 166) | public static Stat[] parseStats(long start1, long end2, MemorySegment ...
    class Stat (line 226) | public static class Stat {
      method Stat (line 233) | public Stat(byte[] name) {
      method add (line 240) | public void add(short value) {
      method merge (line 249) | public Stat merge(Stat value) {
      method round (line 259) | private static double round(double value) {
      method name (line 263) | public String name() {
      method toString (line 267) | public String toString() {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_imrafaelmerino.java
  class CalculateAverage_imrafaelmerino (line 95) | public class CalculateAverage_imrafaelmerino {
    method main (line 100) | public static void main(String[] args) throws IOException {
    method calculateStats (line 106) | private static Map<String, Stat> calculateStats(String file,
    method combine (line 123) | private static Map<String, Stat> combine(Map<String, Stat> xs,
    method parse (line 141) | private static Map<String, Stat> parse(ByteBuffer bb) {
    method fileMemoryStream (line 174) | private static Stream<ByteBuffer> fileMemoryStream(FileChannel fileCha...
    method fileMemoryIterator (line 185) | private static Iterator<ByteBuffer> fileMemoryIterator(FileChannel fil...
    class Stat (line 218) | private static final class Stat {
      method combine (line 225) | public static Stat combine(Stat m1,
      method update (line 235) | private void update(int value) {
      method toString (line 242) | @Override
      method round (line 247) | private double round(double value) {
    class ManagedComputation (line 252) | private static final class ManagedComputation {
      method compute (line 253) | static <T> T compute(final Supplier<T> supplier) {
      class ManagedSupplier (line 266) | private static class ManagedSupplier<T> implements ForkJoinPool.Mana...
        method ManagedSupplier (line 271) | private ManagedSupplier(final Supplier<T> supplier) {
        method block (line 275) | @Override
        method isReleasable (line 282) | @Override
        method getResult (line 287) | T getResult() {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_isolgpus.java
  class CalculateAverage_isolgpus (line 31) | public class CalculateAverage_isolgpus {
    method main (line 44) | public static void main(String[] args) throws IOException, Interrupted...
    method mergeMeasurements (line 74) | private static Map<String, MeasurementCollector> mergeMeasurements(Lis...
    method handleChunk (line 96) | private static MeasurementCollector[] handleChunk(FileChannel channel,...
    method resolveMeasurementCollector (line 176) | private static MeasurementCollector resolveMeasurementCollector(Measur...
    method nameEquals (line 204) | private static boolean nameEquals(byte[] existingName, int existingNam...
    method resolveValue (line 213) | private static int resolveValue(int valueIndex, byte[] valueBuffer, in...
    method readNumber (line 229) | private static int readNumber(boolean isNegative, byte[] valueBuffer, ...
    class MeasurementCollector (line 241) | private static class MeasurementCollector {
      method MeasurementCollector (line 250) | public MeasurementCollector(byte[] name, int nameSum) {
      method feed (line 256) | public void feed(int value) {
      method merge (line 263) | public void merge(MeasurementCollector measurementCollector) {
    class MeasurementResult (line 271) | private static class MeasurementResult {
      method MeasurementResult (line 277) | public MeasurementResult(String name, double mean, BigDecimal max, B...
      method toString (line 285) | @Override
      method from (line 290) | public static MeasurementResult from(MeasurementCollector mc) {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_itaske.java
  class CalculateAverage_itaske (line 27) | public class CalculateAverage_itaske {
    method Measurement (line 33) | Measurement(double value) {
    method toString (line 38) | public String toString() {
    method round (line 49) | private double round(double value) {
    method main (line 54) | public static void main(String[] args) throws IOException {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_ivanklaric.java
  class CalculateAverage_ivanklaric (line 25) | public class CalculateAverage_ivanklaric {
    method toString (line 29) | public String toString() {
    method round (line 33) | private double round(double num) {
    method main (line 38) | public static void main(String[] args) throws IOException {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_iziamos.java
  class CalculateAverage_iziamos (line 33) | public class CalculateAverage_iziamos {
    method initUnsafe (line 36) | private static sun.misc.Unsafe initUnsafe() {
    method main (line 50) | public static void main(String[] args) throws Exception {
    method toString (line 86) | public String toString() {
    method formatLong (line 90) | private double formatLong(final long value) {
    method round (line 94) | private double round(double value) {
    method processSegment (line 99) | private static CompletableFuture<Long> processSegment(final long baseP...
    method computeAbsoluteEndWithSlack (line 119) | private static long computeAbsoluteEndWithSlack(final long chunk, fina...
    method skipIncomplete (line 123) | private static long skipIncomplete(final long basePointer, final long ...
    method processEvents (line 135) | private static long processEvents(final long start, final long limit) {
    method scalarLoop (line 141) | private static void scalarLoop(final long start, final long limit, fin...
    class LoopCursor (line 152) | public static class LoopCursor {
      method LoopCursor (line 158) | public LoopCursor(final long pointer, final long limit) {
      method getCurrentAddress (line 163) | public long getCurrentAddress() {
      method getStringLength (line 167) | public int getStringLength() {
      method getHash (line 180) | public int getHash() {
      method getCurrentValue (line 184) | public int getCurrentValue() {
      method getCurrentValueMeryKitty (line 191) | public int getCurrentValueMeryKitty() {
      method hasMore (line 212) | public boolean hasMore() {
    type ResultConsumer (line 217) | public interface ResultConsumer {
      method consume (line 218) | void consume(final String name, final int min, final int max, final ...
    class ByteBackedResultSet (line 221) | static class ByteBackedResultSet {
      method createResultSet (line 234) | public static long createResultSet() {
      method put (line 240) | public static void put(final long baseAddress, final long address, f...
      method forEach (line 259) | public static void forEach(final long baseAddress, final ResultConsu...
      method merge (line 282) | public static void merge(final long baseAddress, final long other) {
      method findSlot (line 318) | private static int findSlot(final long baseAddress,
      method stringEquals (line 339) | private static boolean stringEquals(final long thisNameAddress,
      method mask (line 362) | public static int mask(final int value) {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_japplis.java
  class CalculateAverage_japplis (line 50) | public class CalculateAverage_japplis {
    method parseTemperatures (line 64) | private void parseTemperatures(File measurementsFile) throws Exception {
    method readBlock (line 102) | private Callable<ByteArray> readBlock(File measurementsFile, long bloc...
    method parseTemperaturesBlock (line 134) | private Runnable parseTemperaturesBlock(ByteArray buffer, int startInd...
    method handleSplitLine (line 156) | private int handleSplitLine(byte[] buffer) {
    method readSplitLine (line 174) | private int readSplitLine(byte[] buffer) {
    method readFirstLines (line 190) | private int readFirstLines(byte[] buffer) {
    method readNextLine (line 213) | private int readNextLine(int bufferIndex, byte[] buffer, Map<Text, Int...
    method readTemperature (line 233) | private int readTemperature(byte[] buffer, int bufferIndex) {
    method addTemperature (line 253) | private void addTemperature(Text city, int temperature, Map<Text, IntS...
    method mergeBlockResults (line 262) | private void mergeBlockResults(Map<Text, IntSummaryStatistics> blockCi...
    method printTemperatureStatsByCity (line 274) | private void printTemperatureStatsByCity() {
    method getTemperatureStats (line 291) | private String getTemperatureStats(IntSummaryStatistics measurement) {
    method appendTemperature (line 304) | private void appendTemperature(StringBuilder resultBuilder, int temper...
    method main (line 316) | public static final void main(String... args) throws Exception {
    class ByteArray (line 323) | private class ByteArray {
      method ByteArray (line 327) | private ByteArray(int size) {
      method array (line 331) | private byte[] array() {
    class Text (line 336) | private static class Text implements Comparable<Text> {
      method Text (line 342) | private Text(byte[] buffer, int startIndex, int length, int hash) {
      method getByteText (line 348) | private static Text getByteText(byte[] buffer, int startIndex, int l...
      method hashCode (line 359) | private static int hashCode(byte[] buffer, int startIndex, int lengt...
      method hashCode (line 368) | @Override
      method equals (line 373) | @Override
      method compareTo (line 381) | @Override
      method toString (line 386) | @Override

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_jatingala.java
  class CalculateAverage_jatingala (line 25) | public class CalculateAverage_jatingala {
    method main (line 29) | public static void main(final String[] args) throws IOException {
    method getChunkPositions (line 61) | private static long[][] getChunkPositions(final RandomAccessFile file,...
    method consumeChunk (line 82) | private static Map<String, Statistics> consumeChunk(final MappedByteBu...
    method parseKey (line 94) | private static String parseKey(final MappedByteBuffer mappedByteBuffer) {
    method parseNumber (line 105) | private static double parseNumber(final MappedByteBuffer mappedByteBuf...
    class Statistics (line 125) | private static class Statistics {
      method round (line 131) | private static double round(final double value) {
      method update (line 135) | public void update(final double reading) {
      method merge (line 142) | public void merge(final Statistics other) {
      method toString (line 149) | @Override

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_javamak.java
  class CalculateAverage_javamak (line 34) | public class CalculateAverage_javamak {
    method Measurement (line 39) | private Measurement(String[] parts) {
    method toString (line 45) | public String toString() {
    method round (line 49) | private double round(double value) {
    class MeasurementAggregator (line 56) | private static class MeasurementAggregator {
    method main (line 63) | public static void main(String[] args) throws IOException {
    method getLinesFromFile (line 103) | private static Stream<String> getLinesFromFile(Path path, Map.Entry<Lo...
    method calcChunks (line 116) | private static Map<Long, Long> calcChunks(Path path) throws IOException {
    method calculateEndPosition (line 131) | private static long calculateEndPosition(Path path, long startPos, lon...

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_jbachorik.java
  class CalculateAverage_jbachorik (line 31) | public class CalculateAverage_jbachorik {
    class Key (line 32) | private static final class Key {
      method Key (line 39) | Key(ByteBuffer bb, int offset, int len, long v0, long v1, int hash) {
      method equals (line 48) | public boolean equals(int offset, int len, long v0, long v1) {
      method toString (line 64) | @Override
    class Stats (line 72) | private static final class Stats {
      method Stats (line 78) | Stats() {
      method add (line 85) | Stats add(long value) {
      method merge (line 93) | Stats merge(Stats other) {
      method toString (line 103) | @Override
    class StatsMap (line 109) | private static final class StatsMap {
      class StatsHolder (line 110) | private static class StatsHolder {
        method StatsHolder (line 114) | StatsHolder(Key slice, Stats stats) {
        method toString (line 119) | @Override
      method getOrInsert (line 132) | public Stats getOrInsert(ByteBuffer buffer, int offset, int len, int...
      method forEach (line 150) | public void forEach(BiConsumer<Key, Stats> consumer) {
    method main (line 164) | public static void main(String[] args) throws Exception {
    method processChunk (line 208) | private static StatsMap processChunk(ByteBuffer bb) {
    method fastParse (line 302) | private static int fastParse(long word, int len) {
    method mmap (line 324) | private static ByteBuffer[] mmap(FileChannel fc, int splitSize) throws...
    method compilePattern (line 368) | private static long compilePattern(byte byteToFind) {
    method firstInstance (line 380) | private static int firstInstance(long word, long pattern) {
    method preprocess (line 387) | private static long preprocess(long word, long pattern) {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_jeevjyot.java
  class CalculateAverage_jeevjyot (line 30) | public class CalculateAverage_jeevjyot {
    method main (line 34) | public static void main(String[] args) throws IOException {
    method parseDoubleFast (line 50) | public static double parseDoubleFast(String str) {
    method round (line 74) | private static double round(double value) {
    class tempMeasurement (line 78) | public static class tempMeasurement {
      method tempMeasurement (line 84) | public tempMeasurement(double temString) {
      method recordTemp (line 91) | public synchronized void recordTemp(Double temp) {
      method getAverage (line 98) | double getAverage() {
      method toString (line 102) | @Override

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_jerrinot.java
  class CalculateAverage_jerrinot (line 52) | public class CalculateAverage_jerrinot {
    method unsafe (line 89) | private static Unsafe unsafe() {
    method main (line 100) | public static void main(String[] args) throws Exception {
    method spawnWorker (line 109) | private static void spawnWorker() throws IOException {
    method calculate (line 124) | static void calculate() throws Exception {
    method printResults (line 159) | private static void printResults(TreeMap<String, StationStats> accumul...
    method ceilPow2 (line 183) | public static int ceilPow2(int i) {
    class Processor (line 193) | private static class Processor implements Runnable {
      method parseAndStoreTemperature (line 242) | private long parseAndStoreTemperature(long startCursor, long baseEnt...
      method getDelimiterMask (line 274) | private static long getDelimiterMask(final long word) {
      method accumulateStatus (line 280) | void accumulateStatus(TreeMap<String, CalculateAverage_jerrinot.Stat...
      method Processor (line 295) | Processor(long fileStart, long fileEnd, AtomicLong globalCursor) {
      method transferToHeap (line 301) | private void transferToHeap(long fastMap) {
      method doOne (line 347) | private void doOne(long cursor, long end, long fastMap) {
      method hash (line 388) | private static int hash(long word) {
      method nextNewLine (line 399) | private static long nextNewLine(long prev) {
      method run (line 416) | @Override
      method allocateMem (line 432) | private long allocateMem() {
      method mainLoop (line 442) | private void mainLoop(long fastMap) {
      method doSlow (line 533) | private void doSlow(long fastMap, long delimiterMaskA, long currentW...
      method setCursors (line 592) | private void setCursors(long current) {
      method getOrCreateEntryBaseOffsetFast (line 614) | private static long getOrCreateEntryBaseOffsetFast(int mapIndexA, in...
      method newEntryFast (line 631) | private static long newEntryFast(int lenA, long maskedLastWord, long...
      method getOrCreateEntryBaseOffsetSlow (line 641) | private long getOrCreateEntryBaseOffsetSlow(int lenA, long startPtr,...
      method nameMatchSlow (line 669) | private static boolean nameMatchSlow(long start, long namePtr, long ...
    method mergeWith (line 682) | StationStats mergeWith(StationStats other) {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_jgrateron.java
  class CalculateAverage_jgrateron (line 31) | public class CalculateAverage_jgrateron {
    method dividirArchivo (line 46) | public static List<Particion> dividirArchivo(File archivo) throws IOEx...
    method main (line 94) | public static void main(String[] args) throws InterruptedException, IO...
    class Index (line 152) | static class Index {
      method Index (line 158) | public Index() {
      method Index (line 162) | public Index(byte data[], int fromIndex, int length) {
      method setData (line 169) | public void setData(byte data[], int fromIndex, int length) {
      method calcHashCode (line 180) | private int calcHashCode(int result, byte[] a, int fromIndex, int le...
      method hashCode (line 188) | @Override
      method equals (line 193) | @Override
    class MiTarea (line 210) | static class MiTarea implements AutoCloseable {
      method MiTarea (line 216) | public MiTarea(File file, Particion particion) throws IOException {
      method close (line 222) | @Override
      method calcularMediciones (line 233) | public Map<Index, Medicion> calcularMediciones() throws IOException {
      method buscarSemicolon (line 291) | public int buscarSemicolon(byte data[], int len) {
      method updateMediciones (line 303) | public void updateMediciones(byte data[], int pos, int semicolon) {
      method strToInt (line 322) | public int strToInt(byte linea[], int idx, int posSeparator) {
    class Medicion (line 335) | static class Medicion {
      method Medicion (line 343) | public Medicion(byte estacion[], int count, int tempMin, int tempMax...
      method update (line 352) | public void update(int count, int tempMin, int tempMax, int tempSum) {
      method round (line 359) | public double round(double number) {
      method getNombreEstacion (line 363) | public String getNombreEstacion() {
      method toString (line 370) | @Override

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_jincongho.java
  class CalculateAverage_jincongho (line 45) | public class CalculateAverage_jincongho {
    method initUnsafe (line 51) | private static Unsafe initUnsafe() {
    class VectorUtils (line 65) | protected static class VectorUtils {
      method findDelimiter (line 72) | public static int findDelimiter(MemorySegment data, long offset) {
      method hashCode (line 135) | public static int hashCode(final MemorySegment array, final long off...
      method notEquals (line 154) | private static boolean notEquals(MemorySegment a, long aOffset, Memo...
    class PartitionAggr (line 197) | protected static class PartitionAggr {
      method PartitionAggr (line 207) | public PartitionAggr() {
      method update (line 216) | public void update(MemorySegment key, long keyStart, short keyLength...
      method mergeTo (line 243) | public void mergeTo(ResultAggr result) {
    class ResultAggr (line 274) | protected static class ResultAggr extends HashMap<ResultAggr.ByteKey, ...
      class ByteKey (line 276) | public static class ByteKey implements Comparable<ByteKey> {
        method ByteKey (line 282) | public ByteKey(MemorySegment data, long offset, short length) {
        method equals (line 288) | @Override
        method hashCode (line 294) | @Override
        method toString (line 299) | @Override
        method compareTo (line 310) | @Override
      class Measurement (line 316) | protected static class Measurement {
        method toString (line 322) | @Override
      method ResultAggr (line 329) | public ResultAggr(int initialCapacity, float loadFactor) {
      method toSorted (line 333) | public Map toSorted() {
    class Partition (line 339) | protected static class Partition implements Runnable {
      method Partition (line 346) | public Partition(MemorySegment data, long offset, long limit, Partit...
      method run (line 353) | @Override
    method main (line 425) | public static void main(String[] args) throws IOException, Interrupted...
    method testMain (line 482) | public static void testMain(String[] args) {
    method testHashCode (line 487) | private static void testHashCode() {
    method testNotEquals (line 499) | private static void testNotEquals() {
    method assertTrue (line 528) | private static void assertTrue(boolean condition) {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_jonathanaotearoa.java
  class CalculateAverage_jonathanaotearoa (line 36) | public class CalculateAverage_jonathanaotearoa {
    method main (line 70) | public static void main(final String[] args) throws IOException {
    method resultsToString (line 88) | private static String resultsToString(final Map<String, TemperatureDat...
    method processFile (line 122) | private static SortedMap<String, TemperatureData> processFile(final Pa...
    method processTinyFile (line 148) | private static SortedMap<String, TemperatureData> processTinyFile(fina...
    method processFile (line 174) | private static SortedMap<String, TemperatureData> processFile(final Fi...
    method createChunks (line 202) | private static Stream<Chunk> createChunks(final long fileAddress, fina...
    method processChunk (line 237) | private static Repository processChunk(final Chunk chunk) {
    method Chunk (line 336) | public Chunk(final long startAddress, final long lastByteAddress, fina...
    method getWord (line 353) | public long getWord(final long address) {
    class TemperatureData (line 371) | private static abstract class TemperatureData {
      method TemperatureData (line 378) | protected TemperatureData(final short temp) {
      method addTemp (line 384) | void addTemp(final short temp) {
      method merge (line 395) | TemperatureData merge(final TemperatureData other) {
      method getMin (line 407) | double getMin() {
      method getMax (line 411) | double getMax() {
      method getMean (line 415) | double getMean() {
      method round (line 419) | private static double round(double value) {
    class SimpleStationData (line 429) | private static final class SimpleStationData extends TemperatureData i...
      method SimpleStationData (line 433) | SimpleStationData(final String name, final short temp) {
      method compareTo (line 438) | @Override
    class StationData (line 444) | private static final class StationData extends TemperatureData impleme...
      method StationData (line 451) | StationData(final int nameHash, final long nameAddress, final byte n...
      method compareTo (line 458) | @Override
      method getName (line 463) | String getName() {
    class Repository (line 476) | private static final class Repository {
      method Repository (line 483) | public Repository() {
      method addTemp (line 495) | public void addTemp(final int nameHash, final long nameAddress, fina...
      method entries (line 505) | public Stream<StationData> entries() {
      method findIndex (line 509) | private int findIndex(int nameHash, final long nameAddress, final by...
      method isCollision (line 519) | private boolean isCollision(final int index, final long nameHash, fi...
      method isMemoryEqual (line 543) | private static boolean isMemoryEqual(final long address1, final long...
    class TestRunner (line 561) | public static final class TestRunner {
      method main (line 562) | public static void main(String[] args) throws IOException {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_jotschi.java
  class CalculateAverage_jotschi (line 32) | public class CalculateAverage_jotschi {
    method main (line 35) | public static void main(String[] args) throws IOException {
    method parseFile (line 40) | @SuppressWarnings("preview")
    method getFileSegments (line 95) | private static List<FileSegment2> getFileSegments(MemorySegment memSeg...
    method merge (line 120) | private static Result2 merge(Result2 v, Result2 value) {
    method merge (line 124) | private static Result2 merge(Result2 v, double value, double value1, d...
    method findSegment (line 132) | private static long findSegment(int i, int skipSegment, MemorySegment ...
  class Result2 (line 147) | class Result2 {
    method Result2 (line 151) | Result2(double value) {
    method toString (line 156) | @Override
    method round (line 161) | double round(double v) {
  class ByteArrayToResultMap2 (line 176) | class ByteArrayToResultMap2 {
    method putOrMerge (line 181) | public void putOrMerge(byte[] key, int offset, int size, double temp, ...
    method getAll (line 204) | public List<Entry2> getAll() {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_jparera.java
  class CalculateAverage_jparera (line 42) | public class CalculateAverage_jparera {
    method main (line 68) | public static void main(String[] args) throws IOException, Interrupted...
    method chunks (line 87) | private static List<Chunk> chunks(MemorySegment ms, int splits) {
    class Chunk (line 103) | private static final class Chunk {
      method Chunk (line 132) | Chunk(MemorySegment segment) {
      method parse (line 137) | public List<Entry> parse() {
      method vectorizedEntry (line 157) | private Entry vectorizedEntry() {
      method entry (line 204) | private Entry entry() {
      method vectorizedValue (line 245) | private int vectorizedValue() {
      method value (line 255) | private int value() {
      method hash (line 280) | private static int hash(MemorySegment ms, long start, int len) {
      method expect (line 293) | private void expect(byte b) {
      method consume (line 299) | private boolean consume(byte b) {
      method hasCurrent (line 307) | private boolean hasCurrent() {
      method next (line 311) | private void next() {
    class Entry (line 321) | private static final class Entry {
      method Entry (line 336) | Entry(int keyLength, int hash) {
      method key (line 341) | public String key() {
      method setkey (line 345) | void setkey(byte[] keys, int offset) {
      method add (line 349) | public void add(int value) {
      method merge (line 356) | public Entry merge(Entry o) {
      method toString (line 364) | @Override
      method decimal (line 370) | private static String decimal(long value) {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_justplainlaake.java
  class CalculateAverage_justplainlaake (line 82) | public class CalculateAverage_justplainlaake {
    method main (line 117) | public static void main(String[] args) throws IOException {
    method process (line 208) | private static OpenMap process(long fromAddress, long toAddress) {
    method getMurmurHash3 (line 280) | public final static long getMurmurHash3(long x) {
    method getMaskOffset (line 291) | private static short getMaskOffset(long value, byte test) {
    class Station (line 301) | private static class Station {
      method Station (line 308) | Station(long nameStart, long nameEnd) {
      method fillName (line 314) | protected void fillName() {
      method toString (line 320) | @Override
    class OpenMap (line 328) | public static class OpenMap {
      method OpenMap (line 339) | public OpenMap() {
      method merge (line 349) | public void merge(long key, Station toMerge) {
      method getOrCreate (line 374) | public Station getOrCreate(final long key, long currentAddress, long...
      method forEach (line 393) | public void forEach(OpenConsumer consumer) {
      method toArray (line 401) | public Station[] toArray() {
      method getNextPowerOfTwo (line 414) | public long getNextPowerOfTwo(long length) {
      method compareMemory (line 425) | private boolean compareMemory(long start1, long start2, int length) {
      type OpenConsumer (line 447) | @FunctionalInterface
        method accept (line 449) | void accept(long key, Station value);
      type OpenFunction (line 452) | @FunctionalInterface
        method action (line 454) | Station action(long key, Station value);

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_karthikeyan97.java
  class CalculateAverage_karthikeyan97 (line 49) | public class CalculateAverage_karthikeyan97 {
    method initUnsafe (line 55) | private static Unsafe initUnsafe() {
    class MeasurementAggregator (line 72) | private static class MeasurementAggregator {
      method toString (line 78) | public String toString() {
      method round (line 87) | private double round(double value) {
    method main (line 92) | public static void main(String[] args) throws Exception {
  class modifiedbytearray (line 326) | class modifiedbytearray {
    method modifiedbytearray (line 333) | modifiedbytearray(byte[] arr, int start, int end, int hashcode) {
    method getStationName (line 341) | public String getStationName() {
    method getArr (line 345) | public byte[] getArr() {
    method toString (line 349) | @Override
    method equals (line 354) | @Override
    method getHashcode (line 360) | public int getHashcode() {
    method hashCode (line 364) | @Override

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_kevinmcmurtrie.java
  class CalculateAverage_kevinmcmurtrie (line 43) | public class CalculateAverage_kevinmcmurtrie implements AutoCloseable {
    class Accumulator (line 66) | public static class Accumulator {
      method compare (line 68) | @Override
      method Accumulator (line 76) | public Accumulator(final int bucketCount) {
      class Element (line 87) | public static class Element {
        method Element (line 96) | public Element(final Element collision, final char[] line, final i...
        method Element (line 106) | public Element(final Element collision, final Element src) {
        method accumulate (line 116) | void accumulate(final long value) {
        method merge (line 123) | private void merge(final Element a) {
        method toString (line 130) | @Override
      method hasher (line 142) | static private final int hasher(final char[] buf, final int start, f...
      method matches (line 153) | static boolean matches(final Element o, final char[] str, final int ...
      method matches (line 157) | static boolean matches(final Element a, final Element b) {
      method merge (line 166) | void merge(final Accumulator src) {
      method accumulate (line 192) | void accumulate(final char[] buf, final int delimiterPos, final int ...
      method toStream (line 212) | public Stream<Element> toStream() {
      method fixedToString (line 254) | static String fixedToString(final double d) {
      method readFixed (line 263) | static long readFixed(final char[] str, final int offset, final int ...
    method CalculateAverage_kevinmcmurtrie (line 311) | public CalculateAverage_kevinmcmurtrie(final String path) throws IOExc...
    method close (line 315) | @Override
    class LineAlignedInput (line 327) | static class LineAlignedInput implements AutoCloseable {
      method LineAlignedInput (line 332) | public LineAlignedInput(final InputStream in, final int maxLineLengt...
      method fillChunk (line 337) | public int fillChunk(final byte buf[]) throws IOException {
      method close (line 366) | @Override
    class LineAlignedReader (line 379) | static class LineAlignedReader implements AutoCloseable {
      method LineAlignedReader (line 384) | public LineAlignedReader(final Reader in, final int maxLineLength) {
      method fillChunk (line 389) | public int fillChunk(final char buf[]) throws IOException {
      method close (line 418) | @Override
    method fillFromFile (line 424) | private int fillFromFile(final byte buf[]) throws IOException {
    method collect (line 434) | public Accumulator collect() throws IOException {
    method collectParallel (line 484) | public Accumulator collectParallel(final int threads) throws Interrupt...
    method main (line 502) | public static void main(final String args[]) throws IOException, Inter...

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_kgeri.java
  class CalculateAverage_kgeri (line 36) | public class CalculateAverage_kgeri {
    class MeasurementAggregate (line 40) | private static class MeasurementAggregate {
      method append (line 46) | public void append(double measurement) {
      method merge (line 53) | public void merge(MeasurementAggregate other) {
      method toString (line 60) | @Override
      method round (line 65) | private double round(double value) {
    class StringSlice (line 73) | private static class StringSlice {
      method StringSlice (line 78) | public StringSlice(StringSlice other) {
      method StringSlice (line 84) | public StringSlice(byte[] buf, int len) {
      method length (line 90) | public int length() {
      method hashCode (line 94) | @Override
      method equals (line 99) | @Override
      method toString (line 104) | @Override
      method calculateHash (line 109) | protected void calculateHash() {
    class MutableStringSlice (line 120) | private static class MutableStringSlice extends StringSlice {
      method MutableStringSlice (line 122) | public MutableStringSlice(byte[] buf) {
      method updateLength (line 126) | public void updateLength(int length) {
      method clear (line 131) | public void clear() {
    method readChunk (line 137) | private static Map<StringSlice, MeasurementAggregate> readChunk(FileCh...
    method parseDoubleFrom (line 192) | private static double parseDoubleFrom(byte[] buf, int offset, int leng...
    method main (line 208) | public static void main(String[] args) throws IOException {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_khmarbaise.java
  class CalculateAverage_khmarbaise (line 29) | public class CalculateAverage_khmarbaise {
    method main (line 46) | public static void main(String[] args) throws IOException {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_kuduwa_keshavram.java
  class CalculateAverage_kuduwa_keshavram (line 36) | public class CalculateAverage_kuduwa_keshavram {
    method initUnsafe (line 41) | private static Unsafe initUnsafe() {
    method main (line 52) | public static void main(String[] args) throws IOException, Interrupted...
    method getMeasurementIterator (line 104) | private static Iterator<Measurement> getMeasurementIterator(Result res...
    class Result (line 130) | static class Result {
    method putOrMerge (line 136) | private static void putOrMerge(Result result, Measurement measurement) {
    method equals (line 155) | private static boolean equals(byte[] city1, byte[] city2) {
    class FileSegment (line 164) | private static final class FileSegment {
      method FileSegment (line 168) | private FileSegment(long start, long end) {
    class Measurement (line 174) | private static final class Measurement {
      method Measurement (line 184) | private Measurement(int hash, byte[] city, int temp) {
      method merge (line 191) | private void merge(Measurement m2) {
      method toString (line 198) | @Override
    method getFileSegments (line 205) | private static Stream<FileSegment> getFileSegments(final File file) th...

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_kumarsaurav123.java
  class CalculateAverage_kumarsaurav123 (line 34) | public class CalculateAverage_kumarsaurav123 {
    method round (line 46) | private double round(double value) {
    method toString (line 50) | @Override
    method main (line 64) | public static void main(String[] args) throws IOException, ExecutionEx...
    method run (line 69) | public static String run(String filePath) throws IOException, Interrup...
    method initArray (line 121) | private static void initArray(int i, int[] count, double[] min, double...
    method createStartAndEnd (line 130) | private static ArrayList<Pair> createStartAndEnd(int chunksize, int nC...
    method createRunnable (line 153) | public static Callable<Store> createRunnable(MemorySegment memorySegme...
    method getaDouble (line 220) | private static double getaDouble(byte[] value) {
    class StringHolder (line 237) | static class StringHolder implements Comparable<StringHolder> {
      method StringHolder (line 240) | public StringHolder(byte[] bytes) {
      method toString (line 244) | @Override
      method hashCode (line 249) | @Override
      method equals (line 254) | @Override
      method compareTo (line 259) | @Override

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_lawrey.java
  class CalculateAverage_lawrey (line 27) | public class CalculateAverage_lawrey {
    class Measurement (line 33) | static class Measurement {
      method Measurement (line 40) | public Measurement() {
      method sample (line 44) | public void sample(double temp) {
      method toString (line 52) | public String toString() {
      method round (line 57) | private double round(double value) {
      method merge (line 62) | public Measurement merge(Measurement m2) {
    class Key (line 72) | static class Key {
      method hashCode (line 77) | @Override
      method equals (line 83) | @Override
      method toString (line 94) | @Override
      method append (line 100) | public void append(byte b) {
      method clear (line 106) | public void clear() {
    method main (line 111) | public static void main(String[] args) throws IOException {
    method mergeMeasurementMaps (line 132) | private static Map<Key, Measurement> mergeMeasurementMaps(Map<Key, Mea...
    method extractMeasurementsFromChunk (line 143) | private static Map<Key, Measurement> extractMeasurementsFromChunk(long...
    method readTemperatureFromBuffer (line 170) | private static int readTemperatureFromBuffer(MappedByteBuffer mbb) {
    method readKey (line 200) | private static void readKey(MappedByteBuffer mbb, Key key) {
    method skipToFirstLine (line 210) | private static void skipToFirstLine(MappedByteBuffer mbb) {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_maeda6uiui.java
  class CalculateAverage_maeda6uiui (line 27) | public class CalculateAverage_maeda6uiui {
    class RecordCollector (line 36) | static class RecordCollector implements Callable<RecordCollectorResult> {
      method RecordCollector (line 49) | public RecordCollector(
      method byteToInt (line 69) | private int byteToInt(byte b) {
      method parseDouble (line 85) | private double parseDouble(byte[] bs) {
      method call (line 132) | @Override
    method round (line 330) | private static double round(double d) {
    method main (line 334) | public static void main(String[] args) {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_mahadev_k.java
  class CalculateAverage_mahadev_k (line 32) | public class CalculateAverage_mahadev_k {
    method round (line 38) | private static double round(double value) {
    class MeasurementAggregator (line 42) | private static class MeasurementAggregator {
      method accept (line 45) | public synchronized void accept(double value) {
      method min (line 54) | public double min() {
      method max (line 58) | public double max() {
      method avg (line 62) | public double avg() {
    method main (line 67) | public static void main(String[] args) throws IOException {
    method readAndProcess (line 73) | public static void readAndProcess(int chunkSize) {
    method processData (line 120) | public static void processData(String dataBlock) {
    method processMinMaxMean (line 130) | private static void processMinMaxMean(String station, double temp) {
    method print (line 140) | public static void print() throws UnsupportedEncodingException {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_makohn.java
  class CalculateAverage_makohn (line 36) | public class CalculateAverage_makohn {
    class Measurement (line 40) | private static class Measurement implements Comparable<Measurement> {
      method Measurement (line 47) | Measurement(String city, int val) {
      method toString (line 54) | @Override
      method round (line 59) | private double round(double value) {
      method compareTo (line 63) | @Override
    method toInt (line 82) | private static int toInt(byte[] in, int offset) {
    class ResultMap (line 106) | private static class ResultMap {
      method put (line 111) | private void put(int hash, Measurement measurement) {
      method contains (line 117) | private boolean contains(int hash) {
      method get (line 121) | private Measurement get(int hash) {
    method linearProbe (line 134) | private static int linearProbe(ResultMap res, String key) {
    method quickSort (line 143) | private static void quickSort(Measurement[] arr, int begin, int end) {
    method partition (line 152) | private static int partition(Measurement[] arr, int begin, int end) {
    method getChunks (line 172) | private static Collection<ByteBuffer> getChunks(MemorySegment memory, ...
    method processChunk (line 200) | private static ResultMap processChunk(ByteBuffer chunk) {
    method main (line 243) | public static void main(String[] args) throws Exception {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_manishgarg90.java
  class CalculateAverage_manishgarg90 (line 31) | public class CalculateAverage_manishgarg90 {
    method main (line 36) | public static void main(String[] args) throws IOException {
    method readBufferAndCalculateMeauremenst (line 62) | private static Map<String, Stat> readBufferAndCalculateMeauremenst(Lis...
    method getEndPosition (line 105) | private static long getEndPosition(FileChannel channel, long position)...
    class Stat (line 119) | private static final class Stat {
      method Stat (line 128) | public Stat() {
      method Stat (line 132) | public Stat(Double value) {
      method update (line 139) | private void update(Double value) {
      method merge (line 146) | private void merge(Map<String, Stat> result) {
      method getResultMap (line 156) | public Map<String, Stat> getResultMap() {
      method round (line 160) | private double round(double value) {
      method toString (line 164) | @Override

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_martin2038.java
  class CalculateAverage_martin2038 (line 31) | public class CalculateAverage_martin2038 {
    class MeasurementAggregator (line 37) | private static class MeasurementAggregator {
      method update (line 43) | void update(int temp) {
      method update (line 47) | void update(int cnt, long sm, int min, int max) {
      method merge (line 58) | void merge(MeasurementAggregator it) {
      method toString (line 62) | public String toString() {
    method main (line 68) | public static void main(String[] args) throws IOException {
    method reduceMap (line 114) | static <Key> HashMap<Key, MeasurementAggregator> reduceMap(HashMap<Key...
    method add2map (line 127) | static <Key> void add2map(Map<Key, MeasurementAggregator> map, Key nam...
    method split (line 141) | static List<FileChunk> split(RandomAccessFile file) throws IOException {
    method readNextHashKey (line 169) | static StrFastHashKey readNextHashKey(byte[] buf, MappedByteBuffer mb) {
    method readNextString (line 179) | static String readNextString(byte[] buf, MappedByteBuffer mb) {
    method readNextInt10Times (line 192) | static int readNextInt10Times(byte[] buf, MappedByteBuffer mb) {
    class StrFastHashKey (line 237) | static class StrFastHashKey implements Comparable<StrFastHashKey> {
      method StrFastHashKey (line 243) | StrFastHashKey(byte[] buf, int size) {
      method equals (line 251) | @Override
      method hashCode (line 259) | @Override
      method toString (line 264) | @Override
      method compareTo (line 272) | @Override
    method calculateHash (line 294) | private static int calculateHash(byte[] buffer, int startPosition, int...
    method hashFNV1a (line 328) | public static int hashFNV1a(byte[] data, int length) {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_mattiz.java
  class CalculateAverage_mattiz (line 29) | public class CalculateAverage_mattiz {
    method main (line 35) | public static void main(String[] args) throws Exception {
    method calculate (line 40) | StationList calculate(String file, int numParts) throws Exception {
    method createBuffers (line 53) | List<ByteBuffer> createBuffers(Path file, int numParts) throws IOExcep...
    method getBuffer (line 81) | BufferAndSize getBuffer(FileChannel fileChannel, long start, long size...
    method aggregate (line 97) | private StationList aggregate(ByteBuffer buffer) {
    method readValue (line 137) | private static int readValue(ByteBuffer buffer) {
  class CustomMap (line 163) | class CustomMap {
    method addOrUpdate (line 167) | public void addOrUpdate(byte[] stationName, int length, int hash, int ...
    method get (line 188) | public Station get(byte[] stationName) {
    method put (line 192) | public void put(byte[] stationName, Station newStation) {
    method findSlot (line 196) | private int findSlot(byte[] stationName) {
    method getHash (line 212) | private int getHash(byte[] key) {
    method entrySet (line 226) | public Set<Map.Entry<byte[], Station>> entrySet() {
    method sorted (line 238) | public Map<String, Station> sorted() {
  class StationList (line 251) | class StationList {
    method update (line 254) | public void update(byte[] stationName, int length, int hash, int value) {
    method merge (line 258) | public StationList merge(StationList other) {
    method toString (line 273) | @Override
  class Station (line 279) | class Station {
    method Station (line 287) | public Station(byte[] name, int hash) {
    method add (line 292) | public void add(int max, int min, int sum, int count) {
    method add (line 299) | public void add(int value) {
    method merge (line 306) | public void merge(Station other) {
    method toString (line 313) | public String toString() {
    method getName (line 317) | public byte[] getName() {
    method getHash (line 321) | public int getHash() {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_maximz101.java
  class CalculateAverage_maximz101 (line 33) | public class CalculateAverage_maximz101 {
    method toString (line 41) | public String toString() {
    method round (line 45) | private double round(double value) {
    class MeasurementAggregator (line 50) | private static class MeasurementAggregator {
      method MeasurementAggregator (line 56) | public MeasurementAggregator(double min, double max, double sum, lon...
    method main (line 67) | public static void main(String[] args) throws IOException {
    method updateResultMap (line 86) | private static void updateResultMap(Map<String, MeasurementAggregator>...
    method computePartialAggregations (line 92) | private static Map<String, MeasurementAggregator> computePartialAggreg...
    method getChunks (line 102) | private static List<FileChunkRange> getChunks(File file, int chunksCou...
    method findNextEOLFrom (line 134) | private static long findNextEOLFrom(RandomAccessFile raf, long current...
    method process (line 142) | private static Map<String, MeasurementAggregator> process(MappedByteBu...
    method parseLine (line 169) | private static Measurement parseLine(byte[] lineBytes, int separatorId...
    method bytesToDouble (line 175) | private static double bytesToDouble(byte[] bytes, int startIdx, int en...

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_melgenek.java
  class CalculateAverage_melgenek (line 39) | public class CalculateAverage_melgenek {
    method main (line 62) | public static void main(String[] args) throws Throwable {
    method printTree (line 81) | private static String printTree(TreeMap<String, ResultRow> result) {
    method processRange (line 100) | private static CompositeTable processRange(long startOffset, long maxO...
    method processChunk (line 111) | private static void processChunk(BufferedFile file, CompositeTable tab...
    method processOneRow (line 125) | private static int processOneRow(BufferedFile file, CompositeTable tab...
    method parseValue (line 137) | private static short parseValue(BufferedFile file) {
    method findDelimiter (line 162) | private static int findDelimiter(BufferedFile file, int startPosition,...
    method keepLastBytes (line 180) | private static long keepLastBytes(long value, int numBytesToKeep) {
    method longToString (line 192) | private static String longToString(long value) {
    class CompositeTable (line 207) | private static final class CompositeTable {
      method add (line 211) | private void add(byte[] buffer, int stringStart, int stringEnd, shor...
      method addRows (line 223) | public void addRows(TreeMap<String, ResultRow> result) {
    method calculateHash (line 233) | private static int calculateHash(byte[] buffer, int startPosition, int...
    method calculateLongHash (line 255) | private static int calculateLongHash(long str) {
    class LongTable (line 264) | private static final class LongTable {
      method add (line 275) | public void add(long str, short value) {
      method addWithProbing (line 291) | private void addWithProbing(long str, short value, int bucketIdx) {
      method addRows (line 318) | public void addRows(TreeMap<String, ResultRow> result) {
      method createBucket (line 342) | private void createBucket(int bucketIdx, long str, short value) {
      method updateBucket (line 349) | private void updateBucket(int bucketIdx, short value) {
    class RegularTable (line 372) | private static final class RegularTable {
      method add (line 377) | public void add(byte[] data, int start, int stringLength, int hash, ...
      method addWithProbing (line 392) | private void addWithProbing(byte[] data, int start, int stringLength...
      method addRows (line 411) | public void addRows(TreeMap<String, ResultRow> result) {
      class Bucket (line 427) | private static final class Bucket {
        method Bucket (line 435) | Bucket(byte[] data, int start, int stringLength, int hash, short v...
        method update (line 442) | public void update(short value) {
        method isEqual (line 451) | public boolean isEqual(byte[] data, int start, int length) {
    class ResultRow (line 485) | private static class ResultRow {
      method ResultRow (line 491) | public ResultRow(long sum, int count, short min, short max) {
      method add (line 498) | public void add(long anotherSum, int anotherCount, short anotherMin,...
      method appendToStringBuffer (line 507) | public void appendToStringBuffer(StringBuilder sb) {
    class BufferedFile (line 520) | private static final class BufferedFile implements AutoCloseable {
      method BufferedFile (line 529) | private BufferedFile(long startOffset, long maxOffset) throws IOExce...
      method refillBuffer (line 535) | private void refillBuffer() throws IOException {
      method close (line 545) | @Override

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_merykitty.java
  class CalculateAverage_merykitty (line 34) | public class CalculateAverage_merykitty {
    class Aggregator (line 42) | private static class Aggregator {
      method toString (line 49) | public String toString() {
      method round (line 53) | private double round(double value) {
    class PoorManMap (line 59) | private static class PoorManMap {
      method PoorManMap (line 72) | PoorManMap() {
      method observe (line 77) | void observe(Aggregator node, long value) {
      method indexSimple (line 88) | Aggregator indexSimple(MemorySegment data, long offset, int size) {
      method insertInto (line 112) | Aggregator insertInto(int bucket, MemorySegment data, long offset, i...
      method mergeInto (line 120) | void mergeInto(Map<String, Aggregator> target) {
      method hash (line 142) | static int hash(int x, int y) {
      method keyEqualScalar (line 148) | private boolean keyEqualScalar(int bucket, MemorySegment data, long ...
    method parseDataPoint (line 169) | private static long parseDataPoint(PoorManMap aggrMap, Aggregator node...
    method parseDataPointSimple (line 198) | private static long parseDataPointSimple(PoorManMap aggrMap, Aggregato...
    method iterate (line 225) | private static long iterate(PoorManMap aggrMap, MemorySegment data, lo...
    method findOffset (line 278) | private static long findOffset(MemorySegment data, long offset, long l...
    method processFile (line 293) | private static PoorManMap processFile(MemorySegment data, long offset,...
    method main (line 350) | public static void main(String[] args) throws InterruptedException, IO...

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_merykittyunsafe.java
  class CalculateAverage_merykittyunsafe (line 36) | public class CalculateAverage_merykittyunsafe {
    class Aggregator (line 55) | private static class Aggregator {
      method toString (line 61) | public String toString() {
      method round (line 65) | private double round(double value) {
    class PoorManMap (line 71) | private static class PoorManMap {
      method PoorManMap (line 88) | PoorManMap() {
      method observe (line 92) | void observe(long entryOffset, long value) {
      method indexSimple (line 106) | long indexSimple(long address, int size) {
      method insertInto (line 131) | void insertInto(long entryOffset, long address, int size) {
      method mergeInto (line 143) | void mergeInto(Map<String, Aggregator> target) {
      method hash (line 166) | static int hash(int x, int y) {
      method keyEqualScalar (line 172) | private boolean keyEqualScalar(long entryOffset, long address, int s...
    method parseDataPoint (line 194) | private static long parseDataPoint(PoorManMap aggrMap, long entryOffse...
    method parseDataPointSimple (line 226) | private static long parseDataPointSimple(PoorManMap aggrMap, long entr...
    method iterate (line 253) | private static long iterate(PoorManMap aggrMap, long address) {
    method findOffset (line 312) | private static long findOffset(long base, long offset, long limit) {
    method processFile (line 327) | private static PoorManMap processFile(MemorySegment data, long offset,...
    method main (line 391) | public static void main(String[] args) throws InterruptedException, IO...

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_moysesb.java
  class CalculateAverage_moysesb (line 34) | public class CalculateAverage_moysesb {
    class ByteArray (line 38) | static class ByteArray {
      method ByteArray (line 42) | private ByteArray(byte[] val, int hashCode) {
      method equals (line 47) | @Override
      method hashCode (line 55) | @Override
    method main (line 63) | public static void main(String[] args) throws IOException, ExecutionEx...
    method round (line 198) | private static double round(double d) {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_mtopolnik.java
  class CalculateAverage_mtopolnik (line 35) | public class CalculateAverage_mtopolnik {
    method unsafe (line 42) | private static Unsafe unsafe() {
    method main (line 53) | public static void main(String[] args) throws Exception {
    method calculate (line 72) | static void calculate() throws Exception {
    class ChunkProcessor (line 104) | private static class ChunkProcessor implements Runnable {
      method ChunkProcessor (line 114) | ChunkProcessor(long chunkStart, long chunkLimit, StationStats[][] re...
      method run (line 121) | @Override
      method processChunk (line 140) | private void processChunk() {
      method semicolonMatchBits (line 213) | private static long semicolonMatchBits(long word) {
      method maskWord (line 219) | private static long maskWord(long word, long matchBits) {
      method dotPos (line 225) | private static int dotPos(long word) {
      method parseTemperature (line 230) | private static int parseTemperature(long word, int dotPos) {
      method nameLen (line 238) | private static int nameLen(long separator) {
      method hash (line 242) | private static long hash(long word) {
      method exportResults (line 247) | private void exportResults() {
    class StatsAccessor (line 273) | static class StatsAccessor {
      method StatsAccessor (line 289) | StatsAccessor(MemorySegment memSeg) {
      method gotoIndex (line 294) | void gotoIndex(int index) {
      method gotoName0 (line 298) | private boolean gotoName0(long hash, long nameWord0) {
      method gotoName1 (line 303) | private boolean gotoName1(long hash, long nameWord0, long nameWord1) {
      method hash (line 308) | long hash() {
      method nameLen (line 312) | int nameLen() {
      method sum (line 316) | int sum() {
      method count (line 320) | int count() {
      method min (line 324) | short min() {
      method max (line 328) | short max() {
      method nameAddress (line 332) | long nameAddress() {
      method nameWord0 (line 336) | long nameWord0() {
      method nameWord1 (line 340) | long nameWord1() {
      method exportNameString (line 344) | String exportNameString() {
      method setHash (line 350) | void setHash(long hash) {
      method setNameLen (line 354) | void setNameLen(int nameLen) {
      method setSum (line 358) | void setSum(int sum) {
      method setCount (line 362) | void setCount(int count) {
      method setMin (line 366) | void setMin(short min) {
      method setMax (line 370) | void setMax(short max) {
      method gotoAndObserve (line 374) | void gotoAndObserve(
      method initialize (line 394) | void initialize(long hash, long nameLen, long nameStartAddress, int ...
      method observe (line 404) | void observe(int temperature) {
      method nameEquals (line 411) | private static boolean nameEquals(
    method mergeSortAndPrint (line 428) | private static void mergeSortAndPrint(StationStats[][] results) {
    class StationStats (line 480) | static class StationStats implements Comparable<StationStats> {
      method toString (line 487) | @Override
      method equals (line 492) | @Override
      method compareTo (line 497) | @Override
    method longToString (line 503) | private static String longToString(long word) {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_muditsaxena.java
  class CalculateAverage_muditsaxena (line 34) | public class CalculateAverage_muditsaxena {
    method Measurement (line 39) | private Measurement(String[] parts) {
    method toString (line 45) | public String toString() {
    method round (line 49) | private double round(double value) {
    class MeasurementAggregator (line 54) | private static class MeasurementAggregator {
    class TaskRunner (line 61) | static class TaskRunner<V> implements Callable<V> {
      method TaskRunner (line 66) | TaskRunner(List<String> taskList) {
      method TaskRunner (line 70) | TaskRunner(String input) {
      method readInput (line 74) | String[] readInput(String inputTask) {
      method call (line 91) | @Override
    method main (line 123) | public static void main(String[] args) throws IOException {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_naive.java
  class CalculateAverage_naive (line 24) | public class CalculateAverage_naive {
    method main (line 29) | public static void main(String[] args) throws FileNotFoundException {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_netrunnereve.java
  class CalculateAverage_netrunnereve (line 29) | public class CalculateAverage_netrunnereve {
    class MeasurementAggregator (line 37) | private static class MeasurementAggregator { // min, max, sum stored a...
    class ThreadCalcs (line 46) | private static class ThreadCalcs {
    method calc_hash (line 53) | private static int calc_hash(byte[] input, int len) {
    class ThreadedParser (line 61) | private static class ThreadedParser extends Thread {
      method ThreadedParser (line 68) | private ThreadedParser(MappedByteBuffer mbuf, int mbs, ThreadCalcs[]...
      method run (line 76) | public void run() {
    method main (line 176) | public static void main(String[] args) {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_obourgain.java
  class CalculateAverage_obourgain (line 38) | public class CalculateAverage_obourgain {
    class ThreadLocalState (line 44) | static class ThreadLocalState {
    class MeasurementAggregator (line 82) | static class MeasurementAggregator {
      method appendTo (line 89) | public void appendTo(StringBuilder stringBuilder) {
      method round (line 94) | private double round(double value) {
      method reset (line 98) | public void reset() {
      method add (line 105) | void add(int measurementInDeciCelsius) {
    method main (line 116) | public static void main(String[] args) throws Exception {
    method printEntry (line 161) | private static void printEntry(List<PrintableMeasurement> entries, int...
    method processChunk (line 171) | private static void processChunk(MemorySegment segment, ThreadLocalSta...
    method processLineInChunk (line 181) | private static long processLineInChunk(MemorySegment segment, long pos...
    method getCityNameLength (line 196) | static long getCityNameLength(MemorySegment segment, long position, Th...
    method decodeDouble (line 256) | private static long decodeDouble(MemorySegment segment, long position,...
    method readBigEndianInt (line 297) | private static int readBigEndianInt(MemorySegment segment, long positi...
    method readByte (line 308) | private static byte readByte(MemorySegment segment, long position) {
    class KeyWrapper (line 316) | static final class KeyWrapper implements Comparable<KeyWrapper> {
      method KeyWrapper (line 320) | KeyWrapper(byte[] key, int keyHashCode) {
      method hashCode (line 325) | @Override
      method equals (line 330) | @Override
      method compareTo (line 337) | @Override
      method toString (line 342) | @Override
    method merge (line 348) | private static void merge(ConcurrentHashMap<KeyWrapper, MeasurementAgg...
    method createChunks (line 366) | static void createChunks(MemorySegment segment, int chunkSize, Consume...
    method findNextLineBreak (line 387) | static long findNextLineBreak(MemorySegment segment, long start) {
    class OpenAddressingMap (line 399) | static class OpenAddressingMap {
      method OpenAddressingMap (line 404) | public OpenAddressingMap() {
      method forEach (line 410) | public void forEach(final BiConsumer<byte[], MeasurementAggregator> ...
      method getOrCreate (line 421) | public MeasurementAggregator getOrCreate(ThreadLocalState threadLoca...
      method create (line 442) | private MeasurementAggregator create(int cityNameLength, byte[] city...
    method arrayEquals (line 454) | static boolean arrayEquals(byte[] existingKey, byte[] cityNameBuffer, ...

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_omarchenko4j.java
  class CalculateAverage_omarchenko4j (line 35) | public class CalculateAverage_omarchenko4j {
    method main (line 40) | public static void main(String[] args) throws IOException, Interrupted...
    method sliceIntoTasks (line 69) | private static List<Task> sliceIntoTasks(MemorySegment segment) {
    class Task (line 97) | private static class Task implements Callable<Map<String, Aggregator>> {
      method Task (line 105) | private Task(MemorySegment segment, long startOffset, long endOffset) {
      method call (line 111) | @Override
      method getDouble (line 148) | private double getDouble(byte[] buffer, int offset, int length) {
    class Aggregator (line 180) | public static class Aggregator {
      method addValue (line 186) | public void addValue(double value) {
      method merge (line 193) | public void merge(Aggregator aggregator) {
      method toString (line 204) | @Override
      method round (line 209) | private double round(double value) {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_padreati.java
  class CalculateAverage_padreati (line 34) | public class CalculateAverage_padreati {
    method toString (line 41) | public String toString() {
    method round (line 45) | private double round(double value) {
    method MeasurementAggregator (line 52) | public MeasurementAggregator(double seed) {
    method merge (line 56) | public MeasurementAggregator merge(MeasurementAggregator b) {
    method toResultRow (line 65) | public ResultRow toResultRow() {
    method main (line 70) | public static void main(String[] args) throws IOException {
    method run (line 74) | private void run() throws IOException {
    method findFileSplits (line 97) | private List<Long> findFileSplits() throws IOException {
    method chunkProcessor (line 132) | public Map<String, MeasurementAggregator> chunkProcessor(File source, ...
    method collapseResults (line 183) | private TreeMap<String, ResultRow> collapseResults(List<Map<String, Me...

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_palmr.java
  class CalculateAverage_palmr (line 27) | public class CalculateAverage_palmr {
    method main (line 37) | public static void main(String[] args) throws IOException {
    method chunk (line 50) | public static Spliterator<CalculateAverage_palmr.ThreadChunk> chunk(fi...
    method parseChunk (line 89) | private static ByteArrayKeyedMap parseChunk(ThreadChunk chunk, FileCha...
    method parseData (line 101) | private static void parseData(final FileChannel channel,
    class State (line 150) | private static final class State {
      method reset (line 159) | public void reset() {
    class MeasurementAggregator (line 168) | private static class MeasurementAggregator {
      method MeasurementAggregator (line 176) | public MeasurementAggregator(final byte[] stationNameBytes, final in...
      method toString (line 181) | public String toString() {
      method round (line 185) | private double round(final double value) {
      method merge (line 189) | private MeasurementAggregator merge(final MeasurementAggregator b) {
    class ByteArrayKeyedMap (line 205) | private static class ByteArrayKeyedMap {
      method computeIfAbsent (line 210) | public MeasurementAggregator computeIfAbsent(final byte[] key, final...
      method getAsUnorderedList (line 232) | public List<MeasurementAggregator> getAsUnorderedList() {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_parkertimmins.java
  class CalculateAverage_parkertimmins (line 32) | public class CalculateAverage_parkertimmins {
    method toString (line 36) | public String toString() {
    method round (line 40) | private double round(double value) {
    class OpenHashTable (line 45) | static class OpenHashTable {
      class Entry (line 46) | static class Entry {
        method merge (line 56) | void merge(Entry other) {
      method add (line 69) | void add(byte[] buf, int sLen, short val, int hash) {
    method eq (line 106) | static boolean eq(byte[] buf, byte[] entryKey, int sLen) {
    method findNextEntryStart (line 123) | static long findNextEntryStart(MemorySegment ms, long offset) {
    method processRangeScalar (line 144) | static void processRangeScalar(MemorySegment ms, long start, long end,...
    method hash (line 179) | static int hash(byte[] buf, int sLen) {
    method processRangeSIMD (line 190) | static void processRangeSIMD(MemorySegment ms, boolean isFirst, boolea...
    method mergeAggregations (line 232) | static HashMap<String, OpenHashTable.Entry> mergeAggregations(ArrayLis...
    method main (line 254) | public static void main(String[] args) throws IOException, Interrupted...

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_pedestrianlove.java
  class CalculateAverage_pedestrianlove (line 27) | public class CalculateAverage_pedestrianlove {
    method Measurement (line 32) | private Measurement(String[] parts) {
    method toString (line 38) | public String toString() {
    method round (line 42) | private double round(double value) {
    class MeasurementAggregator (line 47) | private static class MeasurementAggregator {
    method main (line 54) | public static void main(String[] args) throws IOException {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_phd3.java
  class CalculateAverage_phd3 (line 38) | public class CalculateAverage_phd3 {
    method toString (line 55) | public String toString() {
    method round (line 59) | private double round(double value) {
    method resultRow (line 64) | public static ResultRow resultRow(AggregationInfo aggregationInfo) {
    method main (line 68) | public static void main(String[] args) throws Exception {
    class AggregationInfo (line 104) | private static class AggregationInfo {
      method update (line 110) | public AggregationInfo update(AggregationInfo update) {
      method update (line 122) | public AggregationInfo update(double value) {
    type BufferDataProvider (line 135) | private interface BufferDataProvider {
      method read (line 136) | int read(byte[] buffer, long offset) throws Exception;
    class RandomAccessBasedProvider (line 142) | private static class RandomAccessBasedProvider implements BufferDataPr...
      method RandomAccessBasedProvider (line 145) | RandomAccessBasedProvider(String filePath, long fileSize) {
      method read (line 149) | @Override
    class Aggregator (line 168) | private static class Aggregator implements Callable<LinearProbingHashM...
      method Aggregator (line 172) | public Aggregator(long chunkIndex, BufferDataProvider dataProvider) {
      method call (line 177) | @Override
      method processBuffer (line 194) | private static LinearProbingHashMap processBuffer(byte[] buffer, boo...
      method parseDouble (line 229) | private static double parseDouble(byte[] bytes, int offset, int end) {
      method getNextLine (line 250) | private static LineInfo getNextLine(byte[] buffer, int start) {
    class LinearProbingHashMap (line 275) | private static class LinearProbingHashMap {
      method LinearProbingHashMap (line 279) | LinearProbingHashMap() {
      method get (line 287) | public AggregationInfo get(byte[] key, int keyHash) {
      method toMap (line 309) | private Map<String, AggregationInfo> toMap() {
    class Node (line 324) | private static class Node {
      method Node (line 328) | public Node(KeyValuePair entry, Node next) {

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_plbpietrz.java
  class CalculateAverage_plbpietrz (line 35) | public class CalculateAverage_plbpietrz {
    class TemperatureStats (line 41) | private static class TemperatureStats {
      method update (line 46) | public void update(double temp) {
    class WeatherStation (line 57) | private static class WeatherStation {
      method WeatherStation (line 63) | public WeatherStation() {
      method WeatherStation (line 67) | public WeatherStation(WeatherStation station) {
      method hashCode (line 73) | @Override
      method equals (line 78) | @Override
      method toString (line 88) | @Override
      method appendByte (line 95) | public void appendByte(byte b) {
      method clear (line 101) | public void clear() {
    method main (line 109) | public static void main(String[] args) throws IOException {
    method partitionInput (line 132) | private static List<FilePart> partitionInput(RandomAccessFile inputFil...
    method findMinBlockOffset (line 145) | private static long findMinBlockOffset(RandomAccessFile file, long sta...
    method getMappedByteBuffer (line 158) | private static MappedByteBuffer getMappedByteBuffer(FilePart fp, Rando...
    method parseBuffer (line 167) | private static Map<WeatherStation, TemperatureStats> parseBuffer(Mappe...
    method parseTemperature (line 224) | private static double parseTemperature(byte[] temperature, int tempera...
    method mergeTemperatureStats (line 245) | private static TemperatureStats mergeTemperatureStats(TemperatureStats...
    method formatResults (line 254) | private static void formatResults(PrintWriter pw, Map<WeatherStation, ...

FILE: src/main/java/dev/morling/onebrc/CalculateAverage_plevart.java
  class CalculateAverage_plevart (line 37) | public class CalculateAverage_plevart {
    method main (line 46) | public static void main(String[] args) throws IOException {
    method calculateRegion (line 62) | private static StatsTable calculateRegion(MemorySegment segment, int r...
    method skipPastNl (line 75) | private static long skipPastNl(MemorySegment segment, long i) {
    method calculateAdjustedRegion (line 86) | private static StatsTable calculateAdjustedRegion(MemorySegment segmen...
    class StatsTable (line 133) | final static class StatsTable {
      method StatsTable (line 146) | StatsTable(MemorySegment segment, int capacity) {
      method StatsTable (line 156) | private StatsTable(StatsTable st) {
      method idx (line 163) | private static int idx(int i) {
      method lenHash (line 167) | private static long lenHash(int len, int hash) {
      method len (line 171) | private static int len(long lenHash) {
      method hash (line 175) | private static int hash(long lenHash) {
      method calculateEntry (line 201) | void calculateEntry(long cityStart, int cityLen, long numberStart, i...
      method parseNumber (line 207) | int parseNumber(long off, int len) {
   
Condensed preview — 486 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (4,160K chars).
[
  {
    "path": ".gitattributes",
    "chars": 356,
    "preview": "*.java          text\n*.md            text\n*.yml           text\n*.xml           text\n*.gradle        text\n*.properties   "
  },
  {
    "path": ".github/pull_request_template.md",
    "chars": 1311,
    "preview": "**NOTE:** The challenge has been closed for new submissions. No new pull requests for adding submissions are accepted at"
  },
  {
    "path": ".github/workflows/maven.yml",
    "chars": 2026,
    "preview": "#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n#  you may"
  },
  {
    "path": ".gitignore",
    "chars": 431,
    "preview": "#Maven\ntarget/\npom.xml.tag\npom.xml.releaseBackup\npom.xml.versionsBackup\nrelease.properties\n\n# Eclipse\n.project\n.classpat"
  },
  {
    "path": ".mvn/wrapper/maven-wrapper.properties",
    "chars": 1018,
    "preview": "# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE f"
  },
  {
    "path": ".sdkmanrc",
    "chars": 113,
    "preview": "# Enable auto-env through the sdkman_auto_env config\n# Add key=value pairs of SDKs to use below\njava=21.0.1-open\n"
  },
  {
    "path": "ENVIRONMENT.md",
    "chars": 3116,
    "preview": "# Environment\nThis file just contains some intel about the environment in use and what has been done to get it into that"
  },
  {
    "path": "LICENSE.txt",
    "chars": 11357,
    "preview": "\n                                 Apache License\n                           Version 2.0, January 2004\n                  "
  },
  {
    "path": "README.md",
    "chars": 89117,
    "preview": "# 1️⃣🐝🏎️ The One Billion Row Challenge\n\n_Status Feb 4: The final leaderboards [have been published](https://www.morling."
  },
  {
    "path": "calculate_average_0xshivamagarwal.sh",
    "chars": 936,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_3j5a.sh",
    "chars": 777,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_AbstractKamen.sh",
    "chars": 842,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_AlexanderYastrebov.sh",
    "chars": 683,
    "preview": "#!/bin/bash\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\")"
  },
  {
    "path": "calculate_average_C5H12O5.sh",
    "chars": 745,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_ChrisBellew.sh",
    "chars": 783,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_EduardoSaverin.sh",
    "chars": 752,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_JaimePolidura.sh",
    "chars": 1031,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_JamalMulla.sh",
    "chars": 983,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_JesseVanRooy.sh",
    "chars": 802,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_Judekeyser.sh",
    "chars": 783,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_JurenIvan.sh",
    "chars": 747,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_Kidlike.sh",
    "chars": 934,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_MahmoudFawzyKhalil.sh",
    "chars": 756,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_MeanderingProgrammer.sh",
    "chars": 742,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_PanagiotisDrakatos.sh",
    "chars": 1648,
    "preview": "#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n#  you may"
  },
  {
    "path": "calculate_average_PawelAdamski.sh",
    "chars": 745,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_SamuelYvon.sh",
    "chars": 1492,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_Smoofie.sh",
    "chars": 745,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_Ujjwalbharti.sh",
    "chars": 735,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_YannMoisan.sh",
    "chars": 732,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_abeobk.sh",
    "chars": 1096,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_abfrmblr.sh",
    "chars": 761,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_adriacabeza.sh",
    "chars": 838,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_agoncal.sh",
    "chars": 824,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_ags313.sh",
    "chars": 754,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_albertoventurini.sh",
    "chars": 749,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_alesj.sh",
    "chars": 834,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_algirdasrascius.sh",
    "chars": 737,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_anandmattikopp.sh",
    "chars": 736,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_anestoruk.sh",
    "chars": 747,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_anitasv.sh",
    "chars": 745,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_arjenvaneerde.sh",
    "chars": 736,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_arjenw.sh",
    "chars": 842,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_armandino.sh",
    "chars": 1208,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_artpar.sh",
    "chars": 745,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_artsiomkorzun.sh",
    "chars": 1178,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_as-com.sh",
    "chars": 934,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_baseline.sh",
    "chars": 730,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_baseline_original_rounding.sh",
    "chars": 748,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_berry120.sh",
    "chars": 822,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_bjhara.sh",
    "chars": 729,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_breejesh.sh",
    "chars": 730,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_bytesfellow.sh",
    "chars": 820,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_cb0s.sh",
    "chars": 839,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_charlibot.sh",
    "chars": 748,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_cliffclick.sh",
    "chars": 733,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_coolmineman.sh",
    "chars": 733,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_couragelee.sh",
    "chars": 748,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_criccomini.sh",
    "chars": 804,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_davecom.sh",
    "chars": 730,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_davery22.sh",
    "chars": 731,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_ddimtirov.sh",
    "chars": 1170,
    "preview": "#!/bin/bash\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\")"
  },
  {
    "path": "calculate_average_deemkeen.sh",
    "chars": 747,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_dkarampi.sh",
    "chars": 759,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_dmitry-midokura.sh",
    "chars": 829,
    "preview": "#!/bin/bash\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\")"
  },
  {
    "path": "calculate_average_dpsoft.sh",
    "chars": 933,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_dqhieuu.sh",
    "chars": 729,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_ebarlas.sh",
    "chars": 1074,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_elh.sh",
    "chars": 628,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_entangled90.sh",
    "chars": 734,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_eriklumme.sh",
    "chars": 744,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_faridtmammadov.sh",
    "chars": 754,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_fatroom.sh",
    "chars": 765,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_felix19350.sh",
    "chars": 1296,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_filiphr.sh",
    "chars": 729,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_flippingbits.sh",
    "chars": 785,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_fragmede.sh",
    "chars": 756,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_gabrielfoo.sh",
    "chars": 1011,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_gabrielreid.sh",
    "chars": 785,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_gamlerhart.sh",
    "chars": 859,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_gauravdeshmukh.sh",
    "chars": 736,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_gigiblender.sh",
    "chars": 749,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_giovannicuccu.sh",
    "chars": 809,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_gnabyl.sh",
    "chars": 862,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_gnmathur.sh",
    "chars": 731,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_godofwharf.sh",
    "chars": 1025,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_gonix.sh",
    "chars": 765,
    "preview": "#!/bin/bash\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\")"
  },
  {
    "path": "calculate_average_gonixunsafe.sh",
    "chars": 1394,
    "preview": "#!/bin/bash\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\")"
  },
  {
    "path": "calculate_average_hallvard.sh",
    "chars": 731,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_hchiorean.sh",
    "chars": 748,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_hundredwatt.sh",
    "chars": 733,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_ianopolous.sh",
    "chars": 748,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_ianopolousfast.sh",
    "chars": 866,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_imrafaelmerino.sh",
    "chars": 869,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_isolgpus.sh",
    "chars": 747,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_itaske.sh",
    "chars": 729,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_ivanklaric.sh",
    "chars": 732,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_iziamos.sh",
    "chars": 1369,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_japplis.sh",
    "chars": 734,
    "preview": "#!/bin/bash\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\")"
  },
  {
    "path": "calculate_average_jatingala.sh",
    "chars": 747,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_javamak.sh",
    "chars": 763,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_jbachorik.sh",
    "chars": 751,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_jeevjyot.sh",
    "chars": 730,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_jerrinot.sh",
    "chars": 1362,
    "preview": "#!/bin/bash\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\")"
  },
  {
    "path": "calculate_average_jgrateron.sh",
    "chars": 732,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_jincongho.sh",
    "chars": 985,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_jonathan-aotearoa.sh",
    "chars": 1277,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_jotschi.sh",
    "chars": 749,
    "preview": "#!/bin/bash\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\")"
  },
  {
    "path": "calculate_average_jparera.sh",
    "chars": 803,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_justplainlaake.sh",
    "chars": 1035,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_karthikeyan97.sh",
    "chars": 1189,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_kevinmcmurtrie.sh",
    "chars": 739,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_kgeri.sh",
    "chars": 752,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_khmarbaise.sh",
    "chars": 753,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_kuduwa-keshavram.sh",
    "chars": 755,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_kumarsaurav123.sh",
    "chars": 770,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_lawrey.sh",
    "chars": 737,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_linl33.sh",
    "chars": 2601,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_maeda6uiui.sh",
    "chars": 839,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_mahadev-k.sh",
    "chars": 731,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_makohn.sh",
    "chars": 744,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_manishgarg90.sh",
    "chars": 734,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_martin2038.sh",
    "chars": 1263,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_mattiz.sh",
    "chars": 728,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_maximz101.sh",
    "chars": 754,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_melgenek.sh",
    "chars": 1833,
    "preview": "#!/bin/bash\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\")"
  },
  {
    "path": "calculate_average_merykitty.sh",
    "chars": 934,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_merykittyunsafe.sh",
    "chars": 993,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_moysesb.sh",
    "chars": 758,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_mtopolnik.sh",
    "chars": 998,
    "preview": "#!/bin/bash\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\")"
  },
  {
    "path": "calculate_average_mudit-saxena.sh",
    "chars": 761,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_netrunnereve.sh",
    "chars": 735,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_obourgain.sh",
    "chars": 1419,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_omarchenko4j.sh",
    "chars": 750,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_padreati.sh",
    "chars": 782,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_palmr.sh",
    "chars": 744,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_parkertimmins.sh",
    "chars": 787,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_pedestrianlove.sh",
    "chars": 843,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_phd3.sh",
    "chars": 874,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_plbpietrz.sh",
    "chars": 740,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_plevart.sh",
    "chars": 1106,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_raipc.sh",
    "chars": 980,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_rby.sh",
    "chars": 726,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_rcasteltrione.sh",
    "chars": 757,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_ricardopieper.sh",
    "chars": 751,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_richardstartin.sh",
    "chars": 737,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_roman-r-m.sh",
    "chars": 1437,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_royvanrijn.sh",
    "chars": 1370,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_rprabhu.sh",
    "chars": 730,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_santanu.sh",
    "chars": 730,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_seijikun.sh",
    "chars": 800,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_semotpan.sh",
    "chars": 731,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_serkan-ozal.sh",
    "chars": 1663,
    "preview": "#!/bin/bash\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\")"
  },
  {
    "path": "calculate_average_shipilev.sh",
    "chars": 1399,
    "preview": "#!/bin/bash\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\")"
  },
  {
    "path": "calculate_average_slovdahl.sh",
    "chars": 942,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_spullara.sh",
    "chars": 732,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_stephenvonworley.sh",
    "chars": 1011,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_sudhirtumati.sh",
    "chars": 799,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_thanhtrinity.sh",
    "chars": 749,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_thomaswue.sh",
    "chars": 1111,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_tivrfoa.sh",
    "chars": 858,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_tkosachev.sh",
    "chars": 748,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_tonivade.sh",
    "chars": 822,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_truelive.sh",
    "chars": 743,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_twobiers.sh",
    "chars": 812,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_unbounded.sh",
    "chars": 857,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_vaidhy.sh",
    "chars": 744,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_vemana.sh",
    "chars": 2061,
    "preview": "#!/bin/bash\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\")"
  },
  {
    "path": "calculate_average_vemanaNonIdiomatic.sh",
    "chars": 1070,
    "preview": "#!/bin/bash\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\")"
  },
  {
    "path": "calculate_average_xpmatteo.sh",
    "chars": 747,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_yavuztas.sh",
    "chars": 1189,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_yehwankim23.sh",
    "chars": 734,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_yemreinci.sh",
    "chars": 732,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_yonatang.sh",
    "chars": 836,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "calculate_average_yourwass.sh",
    "chars": 1046,
    "preview": "#!/bin/bash\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\")"
  },
  {
    "path": "calculate_average_zerninv.sh",
    "chars": 1148,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "checkout.sh",
    "chars": 1016,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "cleanup.sh",
    "chars": 760,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "create_fork.sh",
    "chars": 2358,
    "preview": "#!/bin/bash\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\")"
  },
  {
    "path": "create_measurements.sh",
    "chars": 703,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "create_measurements2.sh",
    "chars": 704,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "create_measurements3.sh",
    "chars": 704,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "create_measurements_fast.sh",
    "chars": 707,
    "preview": "#!/bin/sh\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "data/weather_stations.csv",
    "chars": 810356,
    "preview": "# Adapted from https://simplemaps.com/data/world-cities\n# Licensed under Creative Commons Attribution 4.0 (https://creat"
  },
  {
    "path": "etc/eclipse-formatter-config.xml",
    "chars": 34944,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<!--\n\n     Copyright 2023 The original authors\n\n     Licensed und"
  },
  {
    "path": "etc/license.txt",
    "chars": 571,
    "preview": " Copyright 2023 The original authors\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use "
  },
  {
    "path": "evaluate.sh",
    "chars": 10883,
    "preview": "#!/bin/bash\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\")"
  },
  {
    "path": "evaluate_10K.sh",
    "chars": 10888,
    "preview": "#!/bin/bash\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\")"
  },
  {
    "path": "github_users.txt",
    "chars": 1390,
    "preview": "giovannicuccu;Giovanni Cuccu\nUjjwalbharti;Ujjwal Bharti\nabfrmblr;Abhilash\nags313;ags\nanandmattikopp;twohardthings\narmand"
  },
  {
    "path": "mvnw",
    "chars": 11289,
    "preview": "#!/bin/sh\n# ----------------------------------------------------------------------------\n# Licensed to the Apache Softwa"
  },
  {
    "path": "mvnw.cmd",
    "chars": 7796,
    "preview": "@REM ----------------------------------------------------------------------------\r\n@REM Licensed to the Apache Software "
  },
  {
    "path": "pom.xml",
    "chars": 11041,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n\n     Copyright 2023 The original authors\n\n     Licensed under the Apache Li"
  },
  {
    "path": "prepare_3j5a.sh",
    "chars": 713,
    "preview": "#!/bin/bash\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\")"
  },
  {
    "path": "prepare_AlexanderYastrebov.sh",
    "chars": 702,
    "preview": "#!/bin/bash\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\")"
  },
  {
    "path": "prepare_C5H12O5.sh",
    "chars": 713,
    "preview": "#!/bin/bash\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\")"
  },
  {
    "path": "prepare_EduardoSaverin.sh",
    "chars": 717,
    "preview": "#!/bin/bash\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\")"
  },
  {
    "path": "prepare_JaimePolidura.sh",
    "chars": 1025,
    "preview": "#!/bin/bash\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\")"
  },
  {
    "path": "prepare_JamalMulla.sh",
    "chars": 1221,
    "preview": "#!/bin/bash\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\")"
  },
  {
    "path": "prepare_Judekeyser.sh",
    "chars": 717,
    "preview": "#!/bin/bash\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\")"
  },
  {
    "path": "prepare_Kidlike.sh",
    "chars": 1026,
    "preview": "#!/bin/bash\n#\n#  Copyright 2023 The original authors\n#\n#  Licensed under the Apache License, Version 2.0 (the \"License\")"
  }
]

// ... and 286 more files (download for full content)

About this extraction

This page contains the full source code of the gunnarmorling/1brc GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 486 files (3.8 MB), approximately 1.0M tokens, and a symbol index with 3311 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!