processing / processing/processing4

Improve startup performance

Offen
#1,429 0 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

paused
Vorherrschende Sprache
Java
Sterne
494
Forks
183
Ø Merge
4 Std. 39 Min.
Gemergte PRs (30 T.)
3

Beschreibung

PDE startup is slow because much of the initialization work happens on the main thread, blocking the application from becoming responsive.

PR #1300 explored moving several initialization tasks to background threads and demonstrated that this can significantly improve startup performance. The PR was ultimately closed in favor of revisiting startup concurrency with a more centralized approach, rather than introducing multiple ad-hoc threads in startup code.

Relevant quotes:

@tychedelia: “Have you considered using an ExecutorService instead of manually creating all the threads? That could provide better control or allow thread reuse particularly for tasks that are small.”

@catilac: “If there is a thread pool manager we can use to manage threads we should use that. I'd prefer we not introduce the use of low-level concurrency primitives on the app startup code paths.”

I'm opening this issue to capture these insights, so startup performance work can be revisited later.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit der Durchsicht von PR #1300 und der zitierten Diskussion über ExecutorService und einen gemeinsam genutzten Thread-Pool-Manager. Identifiziere den zentralisierten Ansatz für die Startup-Concurrency, der weiterverfolgt werden soll, und lege fest, welche Initialisierungsaufgaben vom Hauptthread wegverlagert werden können. Als abgeschlossen gilt die Änderung, wenn der Startup reaktionsfähig wird, ohne Ad-hoc-Threads einzuführen, und Leistungsnachweise für die Änderung vorliegen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
desktop, performance
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.