Optimierung

G

Guest

Guest
Hallo Windows Experten,

Es hört sich vielleicht etwas pingelig an, ist aber mein Ernst.
Wenn das Script eine Datei öffnet, passiert das mit einem direkten Zeiger auf die Datei oder wird der Folder nach der Datei durchsucht?

0.file wird schneller gefunden als z10000.file?

Auch wenn es bei vielen Dateien im Folder vielleicht nur eine 10000s Unterschied ausmacht, sind das bei 10000 Aufrufen eine ganze lange Sekunde.

Gruss

Tümmel


 
Bin nicht hunderprozentig sicher, und es mag auch von der verwendeten Scriptsprache abhängen. Aber eigentlich müssten I/O-Zugriffe irgendwo übers Betriebssystem laufen, denn nur dieses verwaltet die Platten. Dass ein Ordner durchsucht wird, wenn man einen exakten Dateinamen angibt, kann ich mir nicht vorstellen. Was sicher durchsucht wird, ist die FAT; weil der Dateiname steht da ja irgendwo drin mit der zugehörigen Adresse auf der Platte, und der Zugriff selbst erfolgt dann über diese Adresse. Es könnte höchstens sein, dass wenn kein ganzer Pfad angegeben ist, das System zuerst in den "bekannten" Ordnern sucht, die in den Umgebungsvariablen vermerkt sind, also z.B. in C: und C:\Windows.

Wenns um Performance geht, macht aber sicher das Locking einen Unterschied. Wenn ein File nur zum Lesen geöffnet werden soll, ist es sicher sinnvoll das im Script anzugeben. Ansonsten setzt das System einen Lock drauf, damit kein anderer (Thread/Prozess/Programm) gleichzeitig in dieses File schreiben kann. Und je mehr Locks vorhanden sind, desto mehr müssen vor jedem Zugriff überprüft werden. Und das kostet Zeit (keine Ahnung wieviel, aber es summiert sich ja).

Griessli
Irene
 
Hallo Irene,

Danke für die Antwort, die mir ja doch etwas Arbeit erspart.
Wozu dient denn die Datei thumbs.db, die manchmal generiert wird?

btw. In php muss beim Dateiöffnen der Modus, (r,w,..) explizit angegeben werden.

Gruss

Tümmel
 
In der thumbs.db werden die Thumbnails gecached. Im Windows Explorer kann man die Dateiansicht auf "Miniaturansicht" einstellen, damit von Bilddateien Thumbnails angezeigt werden. Und diese tut der Explorer zwischenspeichern, dafür braucht er dieses thumbs.db. Irgendwo kann man einstellen, ob er die Thumbnails überhaupt zwischenspeichern soll, und evtl. wäre es sinnvoll das auszuschalten bei nem Server. Sonst gibts evtl. zusätzliche Plattenaktivität bei jeder Änderung von einem Bild (bin nicht sicher und weiss auch nicht auswendig, wo man das einstellt).

Griessli
Irene
 
Hallo Irene,

Das hätte ich mir eigentlich auch denken können. Klingt ja irgendwie naheliegend.
In der Tat verbraucht die thumbs.db manchmal mehr Speicher als die Summe der Orginaldateien im Folder.
Glücklicherweise wird bei Benutzung von mkdir und der Erzeugung von Bildern übers web keine thumbs.db erstellt.
Denn bei einer grossen Menge Bilder ist die Miniaturansicht andererseits ganz nützlich, wenn mal ein Bild im falschen Folder gelandet ist.

Dankeschön und Gruss

Tümmel
 
Zurück
Oben