Commit 7be088e
committed
Query Quick Access UI providers in a single UI-thread pass
QuickAccessContents computed proposals on a background job but, for every
provider that requires UI access, scheduled a separate UIJob and blocked the
worker on join(0). With roughly seven UI-access providers (editors, parts,
perspectives, commands, actions, preferences, properties) that meant seven
serialized worker-to-UI round-trips per keystroke, so the total time to
populate the table scaled with UI-thread scheduling latency.
Query all UI-access providers together in a single Display.syncExec and look
the results up per provider when assembling the table. Non-UI providers still
run directly on the worker. A per-provider try/catch keeps one failing provider
from aborting the whole pass, matching the previous per-job isolation. Behavior
and result ordering are unchanged; only the number of thread hops drops from
one-per-provider to one.1 parent 552c9e4 commit 7be088e
3 files changed
Lines changed: 47 additions & 21 deletions
File tree
- bundles/org.eclipse.ui.workbench/eclipseui/org/eclipse/ui/internal/quickaccess
Lines changed: 47 additions & 19 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
390 | 390 | | |
391 | 391 | | |
392 | 392 | | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
| 423 | + | |
| 424 | + | |
| 425 | + | |
| 426 | + | |
| 427 | + | |
| 428 | + | |
| 429 | + | |
| 430 | + | |
| 431 | + | |
393 | 432 | | |
394 | 433 | | |
395 | 434 | | |
| |||
417 | 456 | | |
418 | 457 | | |
419 | 458 | | |
| 459 | + | |
| 460 | + | |
| 461 | + | |
| 462 | + | |
| 463 | + | |
420 | 464 | | |
421 | 465 | | |
422 | 466 | | |
| |||
430 | 474 | | |
431 | 475 | | |
432 | 476 | | |
433 | | - | |
| 477 | + | |
434 | 478 | | |
435 | | - | |
436 | | - | |
437 | | - | |
438 | | - | |
439 | | - | |
440 | | - | |
441 | | - | |
442 | | - | |
443 | | - | |
444 | | - | |
445 | | - | |
446 | | - | |
447 | | - | |
448 | | - | |
449 | | - | |
450 | | - | |
| 479 | + | |
451 | 480 | | |
452 | | - | |
| 481 | + | |
453 | 482 | | |
454 | | - | |
455 | 483 | | |
456 | 484 | | |
457 | 485 | | |
| |||
Lines changed: 0 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
45 | 45 | | |
46 | 46 | | |
47 | 47 | | |
48 | | - | |
49 | 48 | | |
50 | 49 | | |
51 | 50 | | |
| |||
bundles/org.eclipse.ui.workbench/eclipseui/org/eclipse/ui/internal/quickaccess/messages.properties
Lines changed: 0 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
35 | 35 | | |
36 | 36 | | |
37 | 37 | | |
38 | | - | |
0 commit comments