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, andRoot 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 |