Skip to content

Language benchmark pages

This section covers all 143 registered language defaults. The original 20 pages retain their complete measured and experimental sections; newly added pages publish corpus, accuracy, and speed evidence from the current checked-in canonical reports.

The original 20 measured pages include experimental sections that do not merely repeat the cross-language macro values. They publish each language's five-split 10%–90% knowledge curve, exact command-equivalence census, selected edit costs, command-count effect, within-language factor associations, evidence coverage, and bounded conclusion. Non-baseline settings are exploratory candidates until independently validated.

Two knowledge curves, two questions

The dictionary-family curve tests transfer to withheld lexical families under the fixed baseline edit costs. The edit-cost curve compares alternative normalized costs across its own frozen matrix. Both use 10%–90% labels, but their samples and protocols are independent; use each page's evidence map and methodology link before comparing endpoints.

Reference pages

Page Purpose
Methodology Canonical workload design, normalization, speed metrics, and exact-root quality definitions.
Linguistic quality Canonical pairwise quality definitions. Language pages link to these definitions and retain their language-specific results and limitations.
Corpora Dictionary sizes and changed-token timing workloads.
Environment and reports Hardware, JVM, JMH settings, report files, and badge policy.
Dictionary-family generalization Separate all-language evaluation of Java transformations on families withheld from model training.
Generalization methodology Frozen family splits, unseen-surface leakage control, aggregation, and claim boundaries.
Edit-cost sensitivity Cross-language findings and an index linking directly to every language's evidence and conclusion.
Edit-cost methodology Frozen cost grid, exact command equality, selection rule, association coverage, and limitations.
English dictionary coverage Quality/speed operating curve for contracted Radixor tries built from 100% down to 10% of English dictionary rows.
Candidate evaluation Included and skipped stemmer candidates.

Languages

Language Java enum Model ID Relative dictionary size Availability Benchmark page
Adyghe ADY ady-default ★★★★☆ (20,347) Extended aggregate Adyghe
Afrikaans AF_ZA af-za-default ★★★★★ (297,154) Extended aggregate Afrikaans
Aimele AIL ail-default ★★☆☆☆ (3,061) Extended aggregate Aimele
Akan AK aka-default ★★☆☆☆ (1,890) Extended aggregate Akan
Albanian SQ_AL sq-al-default ★★★☆☆ (10,218) Extended aggregate Albanian
Alsatian GSW gsw-default ★★☆☆☆ (1,186) Extended aggregate Alsatian
Amharic AM_ET am-et-default ★★★★☆ (41,308) Extended aggregate Amharic
Amuzgo AZG azg-default ★★★☆☆ (9,371) Extended aggregate Amuzgo
Ancient Greek GRC grc-default ★★★★☆ (26,386) Extended aggregate Ancient Greek
Anglo-Norman XNO xno-default ★☆☆☆☆ (186) Extended aggregate Anglo-Norman
Arabic AR ar-default ★★★★★ (452,974) Standard aggregate Arabic
Armenian HY_AM hy-am-default ★★★★★ (246,576) Standard aggregate Armenian
Ashaninka CNI cni-default ★★★☆☆ (10,095) Extended aggregate Ashaninka
Assamese AS_IN as-in-default ★★★★★ (67,733) Extended aggregate Assamese
Asturian AST ast-default ★★★★☆ (21,589) Extended aggregate Asturian
Aymara AYM aym-default ★★★★★ (308,884) Extended aggregate Aymara
Azerbaijani AZ_AZ az-az-default ★★★☆☆ (6,669) Extended aggregate Azerbaijani
Bashkir BAK bak-default ★★★☆☆ (10,723) Extended aggregate Bashkir
Belarusian BE_BY be-by-default ★★★★☆ (19,527) Extended aggregate Belarusian
Bengali BN_BD bn-bd-default ★★☆☆☆ (2,847) Extended aggregate Bengali
Bininj Kun-wok GUP gup-default ★☆☆☆☆ (370) Extended aggregate Bininj Kun-wok
Braj BRA bra-default ★★☆☆☆ (2,028) Extended aggregate Braj
Breton BRE bre-default ★★☆☆☆ (1,940) Extended aggregate Breton
Bulgarian BG_BG bg-bg-default ★★★★☆ (45,806) Extended aggregate Bulgarian
Catalan CA_ES ca-es-default ★★★★★ (130,366) Standard aggregate Catalan
Cebuano CEB ceb-default ★☆☆☆☆ (430) Extended aggregate Cebuano
Chichewa NY_MW ny-mw-default ★★★☆☆ (3,178) Extended aggregate Chichewa
Chichicapan Zapotec ZPV zpv-default ★★☆☆☆ (818) Extended aggregate Chichicapan Zapotec
Chukchi CKT ckt-default ★☆☆☆☆ (302) Extended aggregate Chukchi
Church Slavonic CHU chu-default ★★☆☆☆ (1,652) Extended aggregate Church Slavonic
Classical Armenian XCL xcl-default ★★★★☆ (59,215) Extended aggregate Classical Armenian
Classical Syriac SYC syc-default ★★★★☆ (27,529) Extended aggregate Classical Syriac
Congo Swahili SWC swc-default ★★★☆☆ (11,121) Extended aggregate Congo Swahili
Copala Triqui CPA cpa-default ★★☆☆☆ (2,741) Extended aggregate Copala Triqui
Cornish COR cor-default ★☆☆☆☆ (162) Extended aggregate Cornish
Cree CRE cre-default ★★☆☆☆ (1,076) Extended aggregate Cree
Crimean Tatar CRH crh-default ★★★☆☆ (7,195) Extended aggregate Crimean Tatar
Czech CS_CZ cs-cz-default ★★★★☆ (51,401) Standard aggregate Czech
Dakota DAK dak-default ★★★☆☆ (3,332) Extended aggregate Dakota
Danish DA_DK da-dk-default ★★★★☆ (27,921) Standard aggregate Danish
Dutch NL_NL nl-nl-default ★★★★☆ (26,201) Standard aggregate Dutch
Eastern Chatino CLY cly-default ★★☆☆☆ (2,035) Extended aggregate Eastern Chatino
Egyptian Arabic ARZ arz-default ★★★★☆ (17,937) Extended aggregate Egyptian Arabic
English US_UK us-uk-default ★★★★★ (591,946) Standard aggregate English
Estonian ET_EE et-ee-default ★★★★☆ (24,811) Standard aggregate Estonian
Evenki EVN evn-default ★★★☆☆ (13,549) Extended aggregate Evenki
Faroese FO_FO fo-fo-default ★★★★☆ (31,366) Extended aggregate Faroese
Finnish FI_FI fi-fi-default ★★★★★ (1,788,784) Standard aggregate Finnish
French FR_FR fr-fr-default ★★★★★ (404,011) Standard aggregate French
Friulian FUR fur-default ★★★☆☆ (5,007) Extended aggregate Friulian
Ga GAA gaa-default ★☆☆☆☆ (469) Extended aggregate Ga
Galolen GAL gal-default ★★★★☆ (25,436) Extended aggregate Galolen
German DE_DE de-de-default ★★★★★ (277,266) Standard aggregate German
Gothic GOT got-default ★★★★★ (134,332) Extended aggregate Gothic
Greek EL_GR el-gr-default ★★★★★ (76,869) Standard aggregate Greek
Gulf Arabic AFB afb-default ★★★★☆ (29,344) Extended aggregate Gulf Arabic
Haida HAI hai-default ★★★☆☆ (5,385) Extended aggregate Haida
Hebrew HE_IL he-il-default ★★★★☆ (57,658) Standard aggregate Hebrew
Hiligaynon HIL hil-default ★☆☆☆☆ (393) Extended aggregate Hiligaynon
Hsilimo HSI hsi-default ★☆☆☆☆ (158) Extended aggregate Hsilimo
Hungarian HU_HU hu-hu-default ★★★★★ (910,688) Standard aggregate Hungarian
Icelandic IS_IS is-is-default ★★★★☆ (52,197) Extended aggregate Icelandic
Indonesian ID_ID id-id-default ★★★★☆ (21,296) Standard aggregate Indonesian
Ingrian IZH izh-default ★★☆☆☆ (1,026) Extended aggregate Ingrian
Irish GA_IE ga-ie-default ★★★★☆ (24,035) Standard aggregate Irish
Italian IT_IT it-it-default ★★★★★ (324,366) Standard aggregate Italian
Itelmen ITL itl-default ★★★☆☆ (3,659) Extended aggregate Itelmen
Japanese JA_JP ja-jp-default ★★★☆☆ (10,848) Extended aggregate Japanese
Kabardian KBD kbd-default ★★☆☆☆ (3,054) Extended aggregate Kabardian
Kalaallisut KL_GL kl-gl-default ★☆☆☆☆ (321) Extended aggregate Kalaallisut
Kannada KN_IN kn-in-default ★★★☆☆ (3,802) Extended aggregate Kannada
Karelian KRL krl-default ★☆☆☆☆ (566) Extended aggregate Karelian
Kashubian CSB csb-default ★☆☆☆☆ (350) Extended aggregate Kashubian
Kazakh KK_KZ kk-kz-default ★★★★☆ (35,223) Extended aggregate Kazakh
Khakas KJH kjh-default ★★☆☆☆ (1,172) Extended aggregate Khakas
Khaling KLR klr-default ★★★★☆ (54,602) Extended aggregate Khaling
Kodi KOD kod-default ★☆☆☆☆ (524) Extended aggregate Kodi
Kongo KON kon-default ★☆☆☆☆ (557) Extended aggregate Kongo
Kyrgyz KY_KG ky-kg-default ★★☆☆☆ (2,997) Extended aggregate Kyrgyz
Ladin LLD lld-default ★★★☆☆ (4,819) Extended aggregate Ladin
Latin LA la-default ★★★★★ (486,375) Extended aggregate Latin
Latvian LV_LV lv-lv-default ★★★★★ (75,492) Extended aggregate Latvian
Lingala LIN lin-default ★☆☆☆☆ (230) Extended aggregate Lingala
Lithuanian LT_LT lt-lt-default ★★★★☆ (28,889) Standard aggregate Lithuanian
Livonian LIV liv-default ★★☆☆☆ (2,861) Extended aggregate Livonian
Low German NDS nds-default ★★☆☆☆ (2,495) Extended aggregate Low German
Lower Sorbian DSB dsb-default ★★★☆☆ (12,039) Extended aggregate Lower Sorbian
Luganda LG_UG lg-ug-default ★★★☆☆ (4,673) Extended aggregate Luganda
Macedonian MK_MK mk-mk-default ★★★★★ (135,754) Extended aggregate Macedonian
Magahi MAG mag-default ★★☆☆☆ (1,448) Extended aggregate Magahi
Malagasy MG_MG mg-mg-default ★☆☆☆☆ (636) Extended aggregate Malagasy
Maltese MT_MT mt-mt-default ★★☆☆☆ (1,491) Extended aggregate Maltese
Manx GV_IM gv-im-default ★☆☆☆☆ (15) Extended aggregate Manx
Maori MI_NZ mi-nz-default ★☆☆☆☆ (207) Extended aggregate Maori
Mapudungun ARN arn-default ★☆☆☆☆ (548) Extended aggregate Mapudungun
Middle French FRM frm-default ★★★★☆ (27,102) Extended aggregate Middle French
Middle High German GMH gmh-default ★☆☆☆☆ (384) Extended aggregate Middle High German
Middle Low German GML gml-default ★☆☆☆☆ (624) Extended aggregate Middle Low German
Mongolian MN_MN mn-mn-default ★★★★☆ (17,231) Extended aggregate Mongolian
Murrinh-Patha MWF mwf-default ★☆☆☆☆ (592) Extended aggregate Murrinh-Patha
Navajo NAV nav-default ★★★☆☆ (11,046) Extended aggregate Navajo
Neapolitan NAP nap-default ★★☆☆☆ (1,497) Extended aggregate Neapolitan
North Frisian FRR frr-default ★☆☆☆☆ (364) Extended aggregate North Frisian
Northern Sami SME sme-default ★★★★☆ (54,435) Extended aggregate Northern Sami
Norwegian Bokmål NB_NO nb-no-default ★★★★★ (73,170) Standard aggregate Norwegian Bokmål
Norwegian Nynorsk NN_NO nn-no-default ★★★★☆ (16,937) Standard aggregate Norwegian Nynorsk
Old English ANG ang-default ★★★★☆ (65,202) Extended aggregate Old English
Old French FRO fro-default ★★★★★ (94,338) Extended aggregate Old French
Old High German GOH goh-default ★★★☆☆ (5,267) Extended aggregate Old High German
Old Irish SGA sga-default ★★☆☆☆ (934) Extended aggregate Old Irish
Old Norse NON non-default ★★★★☆ (46,089) Extended aggregate Old Norse
Old Saxon OSX osx-default ★★★☆☆ (12,361) Extended aggregate Old Saxon
Oodham OOD ood-default ★★☆☆☆ (1,159) Extended aggregate Oodham
Otomi (ote) OTE ote-default ★★★☆☆ (3,417) Extended aggregate Otomi (ote)
Pashto PS_AF ps-af-default ★★☆☆☆ (2,945) Extended aggregate Pashto
Persian FA_IR fa-ir-default ★★★☆☆ (3,544) Standard aggregate Persian
Polish PL_PL pl-pl-unimorph; optional pl-pl-polimorf (★★★★★) ★★★★★ (120,867) Standard aggregate; optional model is in the extended aggregate Polish
Portuguese PT_PT pt-pt-default ★★★★★ (211,091) Standard aggregate Portuguese
Quechua QUE que-default ★★★★★ (147,914) Extended aggregate Quechua
Romanian RO_RO ro-ro-default ★★★★☆ (48,565) Standard aggregate Romanian
Russian RU_RU ru-ru-default ★★★★★ (759,333) Standard aggregate Russian
Seneca SEE see-default ★★★☆☆ (5,318) Extended aggregate Seneca
Serbo-Croatian HBS hbs-default ★★★★★ (272,634) Extended aggregate Serbo-Croatian
Shipibo-Conibo SHP shp-default ★★★☆☆ (7,729) Extended aggregate Shipibo-Conibo
Shona SN_ZW sn-zw-default ★★☆☆☆ (2,640) Extended aggregate Shona
Sotho, Southern ST_ZA st-za-default ★☆☆☆☆ (416) Standard aggregate Sotho, Southern
Southern Kurdish SDH sdh-default ★☆☆☆☆ (165) Extended aggregate Southern Kurdish
Spanish ES_ES es-es-default ★★★★★ (849,661) Standard aggregate Spanish
Swedish SV_SE sv-se-default ★★★★★ (95,181) Standard aggregate Swedish
Tagalog TL_PH tl-ph-default ★★☆☆☆ (2,510) Extended aggregate Tagalog
Turkish TR_TR tr-tr-default ★★★★★ (222,553) Standard aggregate Turkish
Ukrainian UK_UA uk-ua-default ★★★★☆ (14,150) Standard aggregate Ukrainian
Uyghur UG_CN ug-cn-default ★★★☆☆ (6,368) Extended aggregate Uyghur
Uzbek UZ_UZ uz-uz-default ★★★☆☆ (9,835) Extended aggregate Uzbek
Voro VRO vro-default ★☆☆☆☆ (412) Extended aggregate Voro
Western Highland Chatino CTP ctp-default ★★☆☆☆ (2,597) Extended aggregate Western Highland Chatino
Xibe SJO sjo-default ★★★☆☆ (3,151) Extended aggregate Xibe
Yanesha’ AME ame-default ★★☆☆☆ (2,635) Extended aggregate Yanesha’
Yiddish YI yi-default ★★★☆☆ (3,532) Standard aggregate Yiddish
Yoloxóchitl Mixtec XTY xty-default ★★☆☆☆ (2,754) Extended aggregate Yoloxóchitl Mixtec
Zarma DJE dje-default ★☆☆☆☆ (81) Extended aggregate Zarma
Zenzontepec Chatino CZN czn-default ★★☆☆☆ (1,864) Extended aggregate Zenzontepec Chatino
Zulu ZU_ZA zu-za-default ★★★★☆ (32,384) Extended aggregate Zulu

Methodology notes

  • Speed benchmarks process only changed dictionary tokens where the surface form differs from the expected root.
  • Accuracy benchmarks process the complete dictionary and report All exact, Changed exact, and Root preserved.
  • Runtime and exact-root agreement measure different properties. Light, minimal, possessive, and other rule-based filters intentionally have different transformation scopes, so compare every speed row with the adjacent quality table. The English coverage benchmark shows the quality/speed operating curve; the multilingual generalization benchmark separately tests transformations on withheld families; each language page states what its measured knowledge curve and edit-cost sensitivity do and do not justify concluding.
  • Results are comparable only within the same language and benchmark family.
  • The historical Porter badge is retired; no JMH badge JSON is generated.

Benchmark-only prohibited dictionaries

These dictionaries are not distributed, installable, registered, published, or supported. They are listed separately because private, checksum-pinned bytes were benchmarked for transparency while file-applicable redistribution rights remain unresolved.

Language Private model ID Relative dictionary size Status Benchmark page
Basque eus-default ★★★☆☆ (10,401) Benchmark only; not distributed Basque
Georgian ka-ge-default ★★★★★ (75,914) Benchmark only; not distributed Georgian
Ket ket-default ★★☆☆☆ (1,100) Benchmark only; not distributed Ket
Khanty kca-default ★★☆☆☆ (2,175) Benchmark only; not distributed Khanty
Korean ko-kr-default ★★★★★ (192,673) Benchmark only; not distributed Korean
Kurmanji Kurdish kmr-default ★★★★★ (191,104) Benchmark only; not distributed Kurmanji Kurdish
Lamaholot slp-default ★☆☆☆☆ (41) Benchmark only; not distributed Lamaholot
Occitan oci-default ★★★☆☆ (7,465) Benchmark only; not distributed Occitan
Oromo om-et-default ★☆☆☆☆ (656) Benchmark only; not distributed Oromo
Sanskrit san-default ★☆☆☆☆ (55) Benchmark only; not distributed Sanskrit
Scottish Gaelic gd-gb-default ★☆☆☆☆ (265) Benchmark only; not distributed Scottish Gaelic
Slovenian sl-si-default ★★★★☆ (25,100) Benchmark only; not distributed Slovenian
Tajik tg-tj-default ★☆☆☆☆ (78) Benchmark only; not distributed Tajik
Tatar tat-default ★★★☆☆ (7,483) Benchmark only; not distributed Tatar
Turkmen tk-tm-default ★☆☆☆☆ (804) Benchmark only; not distributed Turkmen
Tuvan tyv-default ★★★★★ (491,421) Benchmark only; not distributed Tuvan
Upper Sorbian hsb-default ★☆☆☆☆ (662) Benchmark only; not distributed Upper Sorbian
Urdu ur-pk-default ★★☆☆☆ (881) Benchmark only; not distributed Urdu
Venetian vec-default ★★★☆☆ (8,595) Benchmark only; not distributed Venetian
Votic vot-default ★★☆☆☆ (1,392) Benchmark only; not distributed Votic
Welsh cy-gb-default ★★★☆☆ (6,240) Benchmark only; not distributed Welsh
West Frisian fy-nl-default ★☆☆☆☆ (696) Benchmark only; not distributed West Frisian
Yakut sah-default ★★★★★ (526,431) Benchmark only; not distributed Yakut