feat(benchmarks): expand multilingual stemming quality evaluation
* cover all Radixor dictionary languages * add PRIMARY_OUTPUT, ANY_CANDIDATE, and ALL_CANDIDATES policies * measure pairwise over-stemming and under-stemming * add balanced accuracy and complementary quality metrics * compare single-output and multi-output stemmers fairly * improve result validation, reporting, and documentation * move stemming quality tests into the standard test source set * preserve the existing JMH benchmark structure and badge output
This commit is contained in:
@@ -67,6 +67,104 @@
|
||||
padding: 0.45rem 0.7rem;
|
||||
}
|
||||
|
||||
/* Publication-quality benchmark tables retain identity columns while scrolling. */
|
||||
.quality-table {
|
||||
max-width: 100%;
|
||||
overflow-x: auto;
|
||||
margin: 0.65rem 0 1rem;
|
||||
border: 1px solid var(--md-default-fg-color--lightest);
|
||||
border-radius: 0.2rem;
|
||||
scrollbar-gutter: stable;
|
||||
}
|
||||
|
||||
.quality-table:focus {
|
||||
outline: 0.15rem solid var(--md-accent-fg-color);
|
||||
outline-offset: 0.1rem;
|
||||
}
|
||||
|
||||
.quality-table::before {
|
||||
content: "Scrollable table: Rank, Stemmer, and Output policy remain visible.";
|
||||
display: block;
|
||||
padding: 0.35rem 0.55rem;
|
||||
color: var(--md-default-fg-color--light);
|
||||
font-size: 0.68rem;
|
||||
}
|
||||
|
||||
.quality-table .md-typeset__table,
|
||||
.quality-table table {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.quality-table table th:nth-child(1),
|
||||
.quality-table table td:nth-child(1),
|
||||
.quality-table table th:nth-child(2),
|
||||
.quality-table table td:nth-child(2),
|
||||
.quality-table table th:nth-child(3),
|
||||
.quality-table table td:nth-child(3) {
|
||||
position: sticky;
|
||||
z-index: 2;
|
||||
background: var(--md-default-bg-color);
|
||||
background-clip: padding-box;
|
||||
}
|
||||
|
||||
.quality-table table th:nth-child(1),
|
||||
.quality-table table td:nth-child(1) {
|
||||
left: 0;
|
||||
min-width: 2.8rem;
|
||||
}
|
||||
|
||||
.quality-table table th:nth-child(2),
|
||||
.quality-table table td:nth-child(2) {
|
||||
left: 2.8rem;
|
||||
min-width: 13rem;
|
||||
white-space: normal;
|
||||
}
|
||||
|
||||
.quality-table table th:nth-child(3),
|
||||
.quality-table table td:nth-child(3) {
|
||||
left: 15.8rem;
|
||||
min-width: 8.5rem;
|
||||
box-shadow: 0.2rem 0 0.25rem rgb(0 0 0 / 8%);
|
||||
}
|
||||
|
||||
.quality-details > summary {
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 44.99em) {
|
||||
.quality-table table th:nth-child(2),
|
||||
.quality-table table td:nth-child(2) {
|
||||
min-width: 10rem;
|
||||
}
|
||||
|
||||
.quality-table table th:nth-child(3),
|
||||
.quality-table table td:nth-child(3) {
|
||||
position: static;
|
||||
min-width: 7.5rem;
|
||||
box-shadow: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media print {
|
||||
.quality-table {
|
||||
overflow: visible;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.quality-table::before {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.quality-table table th,
|
||||
.quality-table table td {
|
||||
position: static !important;
|
||||
}
|
||||
|
||||
.quality-details:not([open]) > *:not(summary) {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
|
||||
/* Code blocks */
|
||||
.md-typeset pre > code {
|
||||
font-size: 0.72rem;
|
||||
|
||||
Reference in New Issue
Block a user