[
https://issues.apache.org/jira/browse/GROOVY-12411?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18115295#comment-18115295
]
ASF GitHub Bot commented on GROOVY-12411:
-----------------------------------------
github-actions[bot] commented on PR #2936:
URL: https://github.com/apache/groovy/pull/2936#issuecomment-5669729411
### JMH summary — classic (commit `a59e570`)
Speedup vs trailing 90-day baseline on gh-pages. Higher = faster.
`1.00` = in line with history. Per-benchmark ratio, geomean within group.
Time-per-op units inverted so direction is consistent. The *calibrated*
column divides out this runner's speed vs the baseline hardware, as
measured by Groovy-independent pure-Java ruler benchmarks.
| Group | Speedup | Calibrated | n |
|--------|---------|------------|---|
| bench | 0.950 × | 1.037 × | 124 |
| core | 1.047 × | 0.979 × | 108 |
| grails | 1.028 × | 1.103 × | 80 |
No benchmark is ≥1.5× slower than its 90-day baseline.
<sub>Runner calibration (this run vs baseline hardware): bench 0.93× (27
rulers) · core-ag 1.14× (3 rulers) · core-hz 0.96× (3 rulers) · grails-ad 0.93×
(3 rulers) · grails-ez 0.93× (3 rulers)</sub>
<sub>Baseline: <code>dev/bench/jmh/<part>/classic/data.js</code> on
gh-pages, trailing 90 days. <a
href="https://apache.github.io/groovy/dev/bench/jmh/summary.html">Daily
dashboard</a> · <a
href="https://apache.github.io/groovy/dev/bench/jmh/">Per-suite raw
data</a></sub>
<!
> Add a first-party Language Server Protocol implementation (groovy-lsp)
> ----------------------------------------------------------------------
>
> Key: GROOVY-12411
> URL: https://issues.apache.org/jira/browse/GROOVY-12411
> Project: Groovy
> Issue Type: Improvement
> Reporter: Daniel Sun
> Priority: Major
>
> Ship an optional first-party language server so editors can offer Groovy
> completion, navigation, diagnostics, and refactorings against the in-tree
> compiler rather than a community fork.
> h3. Why
> Community servers ({{groovy-language-server}}, {{gvy}}/{{gls}}) lag language
> changes. A module in this repository compiles with the same
> {{CompilationUnit}} the rest of Groovy uses, so parser and type-system work
> land in the IDE automatically.
> h3. What to ship
> * New optional subproject {{groovy-lsp}} (not part of {{groovy-all}})
> * {{groovylsp}} / {{groovylsp.bat}} launchers (stdio JSON-RPC; optional
> {{--socket}})
> * LSP 3.18 over Eclipse LSP4J 1.0; unknown 3.19 fields ignored
> * Compile open buffers through {{SEMANTIC_ANALYSIS}} (no class generation)
> * Identifier name spans on {{AnnotatedNode}} so rename/highlight select the
> name, not the whole declaration (same 1-based code-point columns as
> GROOVY-12085)
> h3. Language features (advertise only what is implemented)
> * Incremental sync, push/pull diagnostics
> * Completion (keywords, snippets, members, workspace types with auto-import,
> GDK with a prefix) and {{completionItem/resolve}}
> * Hover, signature help, document highlight
> * Definition, type definition, implementation, declaration, references (by
> declaration identity)
> * Prepare-rename / rename (rename the file when the class name matches the
> file stem)
> * Document and workspace symbols, folding, selection range, semantic tokens,
> inlay hints
> * Organize imports (star, static, alias); unused-import hints
> * Code actions: add import, implement abstracts, insert inferred field type,
> add package from path, create missing class stub, generate accessors /
> {{toString}} / {{equals}}/{{hashCode}} / constructor, add {{@Override}}
> * Call hierarchy and type hierarchy
> * Reference-count code lenses
> h3. Safety and classpath
> * {{@Grab}} and {{@ASTTest}} off unless the client sets {{grapeEnabled}} /
> {{astTestEnabled}}
> * Diagnostics scoped to the owning source unit (shared {{ErrorCollector}})
> * No Gradle or Maven Tooling API; the client supplies {{classpath}} /
> {{sourcePaths}}. If those are empty, fall back to {{src/main/groovy}} (and
> friends) and jars under {{lib}} / {{libs}}
> * Unchanged inputs skip recompilation; {{GroovyClassLoader}} is reused and
> closed on shutdown
> h3. Out of scope
> * Debugger (DAP)
> * Test runner
> * Invoking Gradle or Maven to resolve the project
> h3. How to run
> {code}
> groovylsp
> {code}
> Optional flags: {{\-\-stdio}} (default), {{\-\-socket port}}, {{\-\-help}},
> {{\-\-version}}.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)