1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
# 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*