Repository navigation
Commit 87834b0
committed
perf: optimize Java Language Server startup time
Reduce startup time from ~72s to ~49ms by eliminating unnecessary
subprocess calls, system scans, and disk I/O on the critical path:
- Read JDK release file instead of spawning java -version subprocess
in getMajorVersion() (was ~33s per call)
- Skip listJdks() system scan in resolveRequirements when toolingJre
is valid - defer JDK discovery after server startup via
didChangeConfiguration notification (was ~16s)
- Defer addAutoDetectedJdks in getJavaConfig until after server start
by adding skipAutoDetection parameter
- Use context.extension.packageJSON.version instead of reading and
parsing package.json from disk in getVersion() (3 calls at startup)
Signed-off-by: azerr <azerr@redhat.com>1 parent a0b2508 commit 87834b0
4 files changed
Lines changed: 46 additions & 51 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
224 | 224 | | |
225 | 225 | | |
226 | 226 | | |
227 | | - | |
| 227 | + | |
228 | 228 | | |
229 | 229 | | |
230 | 230 | | |
| |||
790 | 790 | | |
791 | 791 | | |
792 | 792 | | |
| 793 | + | |
| 794 | + | |
| 795 | + | |
| 796 | + | |
| 797 | + | |
| 798 | + | |
793 | 799 | | |
794 | 800 | | |
795 | 801 | | |
| |||
1269 | 1275 | | |
1270 | 1276 | | |
1271 | 1277 | | |
1272 | | - | |
| 1278 | + | |
1273 | 1279 | | |
1274 | 1280 | | |
1275 | 1281 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
149 | 149 | | |
150 | 150 | | |
151 | 151 | | |
152 | | - | |
| 152 | + | |
| 153 | + | |
153 | 154 | | |
154 | 155 | | |
155 | 156 | | |
| |||
297 | 298 | | |
298 | 299 | | |
299 | 300 | | |
300 | | - | |
| 301 | + | |
301 | 302 | | |
302 | 303 | | |
303 | 304 | | |
| |||
396 | 397 | | |
397 | 398 | | |
398 | 399 | | |
399 | | - | |
| 400 | + | |
400 | 401 | | |
401 | 402 | | |
402 | 403 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
35 | 35 | | |
36 | 36 | | |
37 | 37 | | |
38 | | - | |
| 38 | + | |
39 | 39 | | |
40 | 40 | | |
41 | 41 | | |
| |||
60 | 60 | | |
61 | 61 | | |
62 | 62 | | |
63 | | - | |
| 63 | + | |
64 | 64 | | |
65 | 65 | | |
66 | 66 | | |
| |||
75 | 75 | | |
76 | 76 | | |
77 | 77 | | |
78 | | - | |
79 | | - | |
80 | | - | |
81 | | - | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
82 | 81 | | |
83 | 82 | | |
84 | 83 | | |
85 | 84 | | |
86 | 85 | | |
87 | 86 | | |
88 | | - | |
| 87 | + | |
89 | 88 | | |
90 | 89 | | |
91 | 90 | | |
92 | 91 | | |
93 | | - | |
94 | | - | |
95 | | - | |
96 | | - | |
97 | | - | |
98 | | - | |
99 | | - | |
100 | | - | |
101 | | - | |
102 | | - | |
103 | | - | |
104 | | - | |
105 | | - | |
106 | | - | |
107 | | - | |
108 | | - | |
109 | | - | |
110 | | - | |
111 | | - | |
112 | | - | |
113 | | - | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
114 | 100 | | |
115 | 101 | | |
116 | 102 | | |
| |||
217 | 203 | | |
218 | 204 | | |
219 | 205 | | |
220 | | - | |
| 206 | + | |
221 | 207 | | |
222 | 208 | | |
223 | 209 | | |
224 | | - | |
225 | | - | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
226 | 221 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
220 | 220 | | |
221 | 221 | | |
222 | 222 | | |
223 | | - | |
| 223 | + | |
224 | 224 | | |
225 | 225 | | |
226 | 226 | | |
| |||
274 | 274 | | |
275 | 275 | | |
276 | 276 | | |
277 | | - | |
| 277 | + | |
278 | 278 | | |
279 | 279 | | |
280 | 280 | | |
| |||
344 | 344 | | |
345 | 345 | | |
346 | 346 | | |
347 | | - | |
348 | | - | |
349 | | - | |
350 | | - | |
351 | | - | |
352 | | - | |
353 | | - | |
354 | | - | |
| 347 | + | |
| 348 | + | |
355 | 349 | | |
356 | 350 | | |
357 | 351 | | |
| |||
368 | 362 | | |
369 | 363 | | |
370 | 364 | | |
371 | | - | |
| 365 | + | |
372 | 366 | | |
373 | 367 | | |
374 | 368 | | |
375 | 369 | | |
376 | 370 | | |
377 | 371 | | |
378 | | - | |
| 372 | + | |
379 | 373 | | |
380 | 374 | | |
381 | | - | |
382 | | - | |
383 | | - | |
| 375 | + | |
| 376 | + | |
384 | 377 | | |
385 | 378 | | |
386 | 379 | | |
| |||
0 commit comments