objectionary / objectionary/lints
`compound-name` XSL transformation exceeds the 100ms threshold on large XMIR files
@volodya-lombrozo is already working on this.
Since Jun 24, 2026.
- Dominant language
- Java
- Stars
- 14
- Forks
- 39
- Avg merge
- 22h 54m
- Merged PRs (30d)
- 90
Description
I'm getting performance warnings when running lints against eo-runtime:
[WARNING] XSL transformation 'compound-name' took 124ms, whereas threshold is 100ms
What happens: The selector //o[@base and @name and not(eo:special(@name)) and eo:compound(@name) and not(eo:idiomatic(@name))] invokes three user-defined XSLT functions per element. eo:compound calls contains() twice and matches(); eo:idiomatic calls starts-with() and ends-with(). On large XMIR files with thousands of named objects the accumulated function-call overhead exceeds the threshold.
What should happen: The transformation completes within the 100ms threshold for typical XMIR files. Inlining the predicate functions or reordering to fail-fast on the cheapest checks first could help.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.