-------- Original-Nachricht --------
Betreff: Re: [de-dev] Lange Ladezeiten Excel Sheet 24MB = 5,5 Minuten in
OO1.9.104
Datum: Thu, 02 Jun 2005 13:14:02 +0200
Von: Daniel Rentz <[EMAIL PROTECTED]>
Antwort an: dev@de.openoffice.org
An: dev@de.openoffice.org
Referenzen: <[EMAIL PROTECTED]>
Hallo,
Walter Bürger schrieb:
kann man die Ladezeiten für große Excel-Sheets verkürzen ?
Kaum...
Unter Windows 2000 SP4 mit OO 1.9.104 (2,4 GHz und 512 Mb Ram)
warte ich bei einem 24 MB grossen Excel-Sheet (mit der Funkuhr gemessene)
5 Minuten und 30 Sekunden bis das Dokument geöffnet ist.
Das Problem: Calc muss die Datei Byte für Byte analysieren und in das
eigene interne Datenformat umwandeln. Excel zieht die ganze Datei mehr
oder weniger in einem Stück in den Speicher, da es intern (vermutlich)
mit den selben Datenstrukturen arbeitet, die auch in der Datei vorhanden
sind.
Das Schließen des Dokuments benötigt 60 Sekunden.
Das ist eventuall ein Problem des Speichermanagers von OOo, siehe Issue
http://www.openoffice.org/issues/show_bug.cgi?id=23172
MS Excel lädt diese Datei in 5 Sekunden !!!
Selbst das Speichern als *.sxc und als *.ods und das erneute Laden in diesen
Formaten
bringt keinen Geschwindigkeitszuwachs.
Mit filemon.exe (Freeware)
http://www.sysinternals.com/ntw2k/source/filemon.shtml
kann man sehr deutlich sehen, dass Excel nur EINEN EINZIGEN Read mit einer Größe
von 4095 Byte auf die Datei macht.
Diesen Vorgang habe ich mehrfach wiederholt - das Ergebnis ist immer das
Gleiche,
beim Öffnen der Datei wird immer nur ein einziger Read mit einer Größe von
4095 Byte durchgeführt. Das erklärt die extrem kurzen Ladezeiten.
Excel liest 4K und kann trotzdem alle Daten auf dem Bildschirm zeigen?
Eher unwahrscheinlich. Vielleicht wird das restliche Laden von einem
anderen Thread ausgeführt, was FileMon dann nicht mehr mitbekommt, oder
was auch immer. Aber mit 4095 Bytes aus einer Exceldatei auch nur eine
Bildschirmseite sinnvoll mit Daten zu füllen, inkl. Formatierungen usw.
ist schon vom Dateiformat aus gesehen ausgeschlossen.
OpenOffice 1.9.104 lädt beim Öffnen die kompletten 24 MB in 4KB Blöcken in den
Hauptspeicher...
... und das dauert ...
Wie gesagt, nicht das Laden, sondern das Konvertieren der Daten...
Wenn man OO in dieser Beziehung mit dem Verhalten anderer Editoren vergleicht,
sieht man
dass z.B. "vi" unter Unix oder "gvim" unter Windows oder SlickEdit oder ...
(die Liste ließe sich fortsetzen)
eben nicht die gesamte Datei in den Hauptspeicher laden sondern nur auf einem
Buffer arbeiten,
also auf einem Teil der Datei, der in den Hauptspeicher geladen wurde.
Dieser Buffer wird dem User angezeigt, ohne dass die komplette Datei geladen
wurde,
was den Startvorgang erheblich verkürzt.
Der User entscheidet mit seinen weiteren Kommandos ob andere Buffer zur
Bearbeitung
nachgeladen werden und bereits bearbeitete Buffer gespeichert werden.
OOo ist nun mal kein Editor in diesem Sinne, sondern muss das ganze
Dokument kennen, um sinnvoll damit arbeiten zu können; insbesondere bei
Tabellendokumenten, wo Formeln beliebige Zellen quer durchs Dokument
referenzieren können, z.B. ganz am Anfang oder Ende.
Texteditoren, wie Du sie meinst, arbeiten ja meist linear auf einer
reinen Textdatei, wo es egal ist, was weiter vorn oder dahinter steht.
OOo-Datein und MSO-Datein sind viel komplexer, die ganze
Dokumentstruktur und Formatierung ist viel weiter in der ganzen Datei
verteilt.
Gibt es eine Einstellungsmöglichkeit um diesen Vorgang zu beschleunigen ?
Nein, denn dann würde diese doch schon eingeschaltet sein, bzw. gar
nicht erst angeboten werden. ;-)
Viele Grüße
Daniel
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]