lsp-bench 0.2.0

Benchmark framework for Language Server Protocol (LSP) servers
# Benchmark Analysis

Analysis of `examples` (`Counter.sol`) — 10 iterations per benchmark.

## Servers

| Server | Description | Version |
|--------|-------------|---------|
| [mmsaki]https://github.com/mmsaki/solidity-language-server | Solidity Language Server by mmsaki | `solidity-language-server 0.1.17+commit.576a931.macos.aarch64` |

## Capability Matrix

| Benchmark | mmsaki |
|-----------|--------|
| initialize | ok |
| textDocument/diagnostic | ok |
| textDocument/definition | ok |
| textDocument/declaration | ok |
| textDocument/typeDefinition | empty |
| textDocument/implementation | empty |
| textDocument/hover | ok |
| textDocument/references | ok |
| textDocument/completion | ok |
| textDocument/signatureHelp | empty |
| textDocument/rename | ok |
| textDocument/prepareRename | ok |
| textDocument/documentSymbol | ok |
| textDocument/documentLink | ok |
| textDocument/formatting | ok |
| textDocument/foldingRange | empty |
| textDocument/selectionRange | empty |
| textDocument/codeLens | empty |
| textDocument/inlayHint | empty |
| textDocument/semanticTokens/full | empty |
| textDocument/documentColor | empty |
| workspace/symbol | ok |

| Server | Working | Failed | Success Rate |
|--------|---------|--------|--------------|
| mmsaki | 13/22 | 9/22 | 59% |

## initialize

| Server | Status | Mean | p50 | p95 | Spread | Spike | Min | Max | Range |
|--------|--------|------|-----|-----|--------|-------|-----|-----|-------|
| mmsaki | ok | 4.58ms | 4.4ms | 6.3ms | 1.9ms | 1.42x | 3.92ms | 6.28ms | 2.36ms |

## textDocument/diagnostic

| Server | Status | Mem | Mean | p50 | p95 | Spread | Spike | Min | Max | Range |
|--------|--------|-----|------|-----|-----|--------|-------|-----|-----|-------|
| mmsaki | ok | 5.1 MB | 119.18ms | 119.5ms | 122.5ms | 2.9ms | 1.02x | 115.24ms | 122.48ms | 7.24ms |

## textDocument/definition

| Server | Status | Mem | Mean | p50 | p95 | Spread | Spike | Min | Max | Range |
|--------|--------|-----|------|-----|-----|--------|-------|-----|-----|-------|
| mmsaki | ok | 5.2 MB | 0.20ms | 0.2ms | 0.2ms | 0.0ms | 1.20x | 0.16ms | 0.24ms | 0.08ms |

## textDocument/declaration

| Server | Status | Mem | Mean | p50 | p95 | Spread | Spike | Min | Max | Range |
|--------|--------|-----|------|-----|-----|--------|-------|-----|-----|-------|
| mmsaki | ok | 5.1 MB | 0.18ms | 0.2ms | 0.3ms | 0.1ms | **1.56x** | 0.14ms | 0.28ms | 0.14ms |

## textDocument/typeDefinition

| Server | Status | Mem | Mean |
|--------|--------|-----|------|
| mmsaki | empty | 5.1 MB | - |

## textDocument/implementation

| Server | Status | Mem | Mean |
|--------|--------|-----|------|
| mmsaki | empty | 5.2 MB | - |

## textDocument/hover

| Server | Status | Mem | Mean | p50 | p95 | Spread | Spike | Min | Max | Range |
|--------|--------|-----|------|-----|-----|--------|-------|-----|-----|-------|
| mmsaki | ok | 5.0 MB | 0.22ms | 0.2ms | 0.3ms | 0.1ms | 1.30x | 0.18ms | 0.30ms | 0.12ms |

## textDocument/references

| Server | Status | Mem | Mean | p50 | p95 | Spread | Spike | Min | Max | Range |
|--------|--------|-----|------|-----|-----|--------|-------|-----|-----|-------|
| mmsaki | ok | 5.1 MB | 0.33ms | 0.3ms | 0.4ms | 0.1ms | 1.21x | 0.30ms | 0.40ms | 0.10ms |

## textDocument/completion

| Server | Status | Mem | Mean | p50 | p95 | Spread | Spike | Min | Max | Range |
|--------|--------|-----|------|-----|-----|--------|-------|-----|-----|-------|
| mmsaki | ok | 5.1 MB | 0.11ms | 0.1ms | 0.1ms | 0.0ms | 1.18x | 0.10ms | 0.13ms | 0.03ms |

## textDocument/signatureHelp

| Server | Status | Mem | Mean |
|--------|--------|-----|------|
| mmsaki | empty | 5.1 MB | - |

## textDocument/rename

| Server | Status | Mem | Mean | p50 | p95 | Spread | Spike | Min | Max | Range |
|--------|--------|-----|------|-----|-----|--------|-------|-----|-----|-------|
| mmsaki | ok | 5.1 MB | 0.44ms | 0.4ms | 0.5ms | 0.1ms | 1.19x | 0.39ms | 0.51ms | 0.12ms |

## textDocument/prepareRename

| Server | Status | Mem | Mean | p50 | p95 | Spread | Spike | Min | Max | Range |
|--------|--------|-----|------|-----|-----|--------|-------|-----|-----|-------|
| mmsaki | ok | 5.2 MB | 0.09ms | 0.1ms | 0.1ms | 0.0ms | 1.11x | 0.06ms | 0.10ms | 0.04ms |

## textDocument/documentSymbol

| Server | Status | Mem | Mean | p50 | p95 | Spread | Spike | Min | Max | Range |
|--------|--------|-----|------|-----|-----|--------|-------|-----|-----|-------|
| mmsaki | ok | 5.1 MB | 0.36ms | 0.4ms | 0.4ms | 0.0ms | 1.11x | 0.34ms | 0.40ms | 0.06ms |

## textDocument/documentLink

| Server | Status | Mem | Mean | p50 | p95 | Spread | Spike | Min | Max | Range |
|--------|--------|-----|------|-----|-----|--------|-------|-----|-----|-------|
| mmsaki | ok | 5.1 MB | 0.27ms | 0.3ms | 0.3ms | 0.0ms | 1.15x | 0.23ms | 0.31ms | 0.08ms |

## textDocument/formatting

| Server | Status | Mem | Mean | p50 | p95 | Spread | Spike | Min | Max | Range |
|--------|--------|-----|------|-----|-----|--------|-------|-----|-----|-------|
| mmsaki | ok | 5.0 MB | 11.79ms | 11.8ms | 13.1ms | 1.3ms | 1.11x | 10.87ms | 13.13ms | 2.26ms |

## textDocument/foldingRange

| Server | Status | Mem | Mean |
|--------|--------|-----|------|
| mmsaki | empty | 5.0 MB | - |

## textDocument/selectionRange

| Server | Status | Mem | Mean |
|--------|--------|-----|------|
| mmsaki | empty | 5.0 MB | - |

## textDocument/codeLens

| Server | Status | Mem | Mean |
|--------|--------|-----|------|
| mmsaki | empty | 5.1 MB | - |

## textDocument/inlayHint

| Server | Status | Mem | Mean |
|--------|--------|-----|------|
| mmsaki | empty | 5.0 MB | - |

## textDocument/semanticTokens/full

| Server | Status | Mem | Mean |
|--------|--------|-----|------|
| mmsaki | empty | 5.0 MB | - |

## textDocument/documentColor

| Server | Status | Mem | Mean |
|--------|--------|-----|------|
| mmsaki | empty | 5.1 MB | - |

## workspace/symbol

| Server | Status | Mem | Mean | p50 | p95 | Spread | Spike | Min | Max | Range |
|--------|--------|-----|------|-----|-----|--------|-------|-----|-----|-------|
| mmsaki | ok | 5.0 MB | 0.57ms | 0.6ms | 0.6ms | 0.1ms | 1.12x | 0.51ms | 0.64ms | 0.13ms |

## Peak Memory (RSS)

| mmsaki |
|--------|
| 5.2 MB |

---

*Generated from [`benchmarks/2026-02-16T10-28-21Z.json`](benchmarks/2026-02-16T10-28-21Z.json) — benchmark run: 2026-02-16T10:28:21Z*