Autor Beitrag
karozocker
Hält's aus hier
Beiträge: 14

Win 3.0 - Win7 aktuell Vista
Basic (VS 2003) C# (VS 2008)
BeitragVerfasst: Sa 24.04.10 08:31 
-vom User entfernt-


Zuletzt bearbeitet von karozocker am Di 09.11.10 16:19, insgesamt 1-mal bearbeitet
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Sa 24.04.10 11:08 
Du solltest hin und wieder Application.DoEvents aufrufen oder gleich einen BackgroundWorker einsetzen, dann wird sich Windows auch nicht beschweren, dass dein Programm scheinbar hängen geblieben ist ;) .

PS: Von wie viel Text reden wir hier überhaupt? Ich wette, dass die Interaktion mit den Controls 99% der Zeit frisst. Führe PerformStep nur bei jedem hundertsten Zeichen aus und schreibe nicht direkt in ausgabe.Text, sondern erst einmal in einen StringBuilder.
PPS: Das dürfte die dichteste Kommentierung sein, die ich jemals gesehen habe :zwinker: .

_________________
>λ=

Für diesen Beitrag haben gedankt: karozocker
karozocker Threadstarter
Hält's aus hier
Beiträge: 14

Win 3.0 - Win7 aktuell Vista
Basic (VS 2003) C# (VS 2008)
BeitragVerfasst: Sa 24.04.10 21:16 
-vom User entfernt-


Zuletzt bearbeitet von karozocker am Di 09.11.10 16:20, insgesamt 1-mal bearbeitet
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Sa 24.04.10 23:16 
user profile iconkarozocker hat folgendes geschrieben Zum zitierten Posting springen:
-Ich Rede hier von enorm viel Text: Ich habe zum Testen das erste Kapitel eines Buches reingeschrieben: gutenberg.spiegel.de...d780c7683f2#gb_found
Ach, doch so wenig - das nimmt meine TextBox gar nicht auf, sondern schneidet bei short.MaxValue ab :lol: .
Wie du selbst beschreibst, wächst die Zeit quadratisch zur Textlänge; die Controls spielen also keine Rolle, es ist tatsächlich nur das Erstellen von immer längeren String-Instanzen durch +. Mit einem StringBuilder komme ich auf 10 Sekunden, von denen interessanterweise 9 auf StringBuilder.ToString entfallen - das könntest du nur vermeiden, wenn du eine intelligentere TextBox baust, die nur den jeweils gerade angezeigten Text im Speicher hält, oder, falls es eigentlich darum geht, eine Datei zu übersetzen, direkt mit Streams arbeitest.

_________________
>λ=

Für diesen Beitrag haben gedankt: karozocker
karozocker Threadstarter
Hält's aus hier
Beiträge: 14

Win 3.0 - Win7 aktuell Vista
Basic (VS 2003) C# (VS 2008)
BeitragVerfasst: Sa 24.04.10 23:25 
-vom User entfernt-