eclipse-platform / eclipse-platform/eclipse.platform

Slow copy-from-Console with many links inside

Offen
#1,503 2 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen
performance
Vorherrschende Sprache
Java
Sterne
165
Forks
174
Ø Merge
2 T. 8 Std.
Gemergte PRs (30 T.)
22

Beschreibung

If the console output contains many lines copying (ctrl+c) the output to clipboard becomes very slow. For example try to copy 100_000 lines already lags some seconds. Seems to be O(n^2) where n is number of lines.
Example to reproduce a long console output :
```
public class Main {
public static void main(String[] args) {
for (int i = 0; i < 100_000; i++) {
System.out.println("org.eclipse.ui.console.TextConsoleViewer.findPosition(TextConsoleViewer.java:497)");
}
}
}
```

Almost all time is spend in org.eclipse.ui.console.TextConsoleViewer.findPosition(int, int, Position[])
![image](https://github.com/user-attachments/assets/743221a0-9474-4241-89d4-0c43b87d1c82)
The copied text is ~8MB:
![image](https://github.com/user-attachments/assets/f3d9ff94-ddc4-415a-bca1-70c811f5dc04)

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Der gemeldete Hotspot ist org.eclipse.ui.console.TextConsoleViewer.findPosition(int, int, Position[]); beginne damit, die 100.000-zeilige Java-Konsolenausgabe zu reproduzieren und das Kopieren in die Zwischenablage zu profilieren. Vergleiche die Laufzeit, während die Anzahl der verknüpften Zeilen steigt; als erledigt gilt die Aufgabe, wenn das Kopieren der Beispielausgabe die gemeldete quadratische Verlangsamung nicht mehr zeigt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
desktop, performance
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
38/100

Neue Issues direkt in Ihr Postfach

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