Speedmessung von Programmstarts bei Installation auf RAM-Disks
Hallo,
für mich steht jetzt der nächste Teil meiner wissenschaftlichen Arbeit an - Ich untersuche Möglichkeiten, den Datendurchsatz auf Windows PCs zu beschleunigen.
Nächstes Kapitel: RAM-Disks
Ich habe auf meinen Test-PCs 13 verschiedene installiert und wirklich massive Unterschiede in der Geschwindigkeit der einzelnen RAM-Disks festgestellt.
Jetzt geht es um Alltagsaufgaben, die RAM-Disks effizienter erledigen könn T en als wenn die jeweilige Software auf der HDD oder SSD installiert ist.
Ich habe aber noch keine SW gefunden, die in der Lage ist, die Zeit von Programmstarts zu messen.
Deswegen würde ich jetzt eine batch datei schreiben, die z.B. 20 auf der RAM-Disk installierte Programme startet und dann die Zeit vorher und danach in ein log.txt ausgibt.
Dasselbe dann nochmal mit den gleichen 20 Prg auf HDD und SSD.
Ist das so sinnvoll oder gibts noch weitere Möglichkeiten, die ich bisher noch nicht sehen kann, zu meinem Ziel zu gelangen?
Ich würde dann auch Photoshop, Gimp, Office 2003, Adobe Acrobat in mehreren Varianten und andere "Schwergewichter" nehmen
Hat hier jemand noch eine Idee, welche SW beim Starten wirklich dauert und durch die Installation auf eine RD schneller laufen könn T e?
Herzliche Grüße und vielen Dank für Eure Ideen...
für mich steht jetzt der nächste Teil meiner wissenschaftlichen Arbeit an - Ich untersuche Möglichkeiten, den Datendurchsatz auf Windows PCs zu beschleunigen.
Nächstes Kapitel: RAM-Disks
Ich habe auf meinen Test-PCs 13 verschiedene installiert und wirklich massive Unterschiede in der Geschwindigkeit der einzelnen RAM-Disks festgestellt.
Jetzt geht es um Alltagsaufgaben, die RAM-Disks effizienter erledigen könn T en als wenn die jeweilige Software auf der HDD oder SSD installiert ist.
Ich habe aber noch keine SW gefunden, die in der Lage ist, die Zeit von Programmstarts zu messen.
Deswegen würde ich jetzt eine batch datei schreiben, die z.B. 20 auf der RAM-Disk installierte Programme startet und dann die Zeit vorher und danach in ein log.txt ausgibt.
Dasselbe dann nochmal mit den gleichen 20 Prg auf HDD und SSD.
Ist das so sinnvoll oder gibts noch weitere Möglichkeiten, die ich bisher noch nicht sehen kann, zu meinem Ziel zu gelangen?
Ich würde dann auch Photoshop, Gimp, Office 2003, Adobe Acrobat in mehreren Varianten und andere "Schwergewichter" nehmen
Hat hier jemand noch eine Idee, welche SW beim Starten wirklich dauert und durch die Installation auf eine RD schneller laufen könn T e?
Herzliche Grüße und vielen Dank für Eure Ideen...
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 315800
Url: https://administrator.de/forum/speedmessung-von-programmstarts-bei-installation-auf-ram-disks-315800.html
Ausgedruckt am: 25.12.2024 um 01:12 Uhr
12 Kommentare
Neuester Kommentar
Hi,
das wird so nicht funktionieren bzw. falsche Ergebnisse liefern. Wenn Du darüber eine "wissenschaftlichen Arbeit" schreiben willst, dann solltest Du das aber wissen.
Der Punkt ist, zu erkennen, wann das Programm mit dem Start fertig ist. Und was man alles zum Start zählt. Es gibt Programme, die laden noch im Hintergrund, während die GUI schon auf Benutzereingaben reagiert.
Weiterhin kommt dazu, dass der Start eines Programms auch von anderen Faktoren beeinflusst werden kann. z.B. die aktuelle CPU-Last beim Start. Oder ob das Programm bzw. DLL's, welche es benutzt, seit dem letzen Boot zum ersten oder zum wiederholten Mal geladen werden.
Normalerweise müsste es aber ausreichen, einfache Festplatten-Benchmarks auf die RAM-Disks auszuführen.
E.
das wird so nicht funktionieren bzw. falsche Ergebnisse liefern. Wenn Du darüber eine "wissenschaftlichen Arbeit" schreiben willst, dann solltest Du das aber wissen.
Der Punkt ist, zu erkennen, wann das Programm mit dem Start fertig ist. Und was man alles zum Start zählt. Es gibt Programme, die laden noch im Hintergrund, während die GUI schon auf Benutzereingaben reagiert.
Weiterhin kommt dazu, dass der Start eines Programms auch von anderen Faktoren beeinflusst werden kann. z.B. die aktuelle CPU-Last beim Start. Oder ob das Programm bzw. DLL's, welche es benutzt, seit dem letzen Boot zum ersten oder zum wiederholten Mal geladen werden.
Normalerweise müsste es aber ausreichen, einfache Festplatten-Benchmarks auf die RAM-Disks auszuführen.
E.
Hallöle zusammen.
Eben.
Zumal ich solch eine Arbeit eigentlich als sinnlos empfinde, wenn man sich mal die Specs eines Standard DDR3-RAM-Riegels ansieht und sie mit denen einer SSD vergleicht. RAM >6GB/s versus ca. 600MB/s und IOPs > 1Mio versus ca. 80 000. Da sieht man schon so was abgeht.
Man müsste auch sämtliche Cache-Mechanissmen in Windows abschalten um nachvollziehbare Ergebnisse zu erzielen.
Auch sollte man natürlich bedenken das das Laden der Programme in die Ram-Disk beim Start des Rechners auch seine Zeit benötigt wenn man als Quellmedium keine SSD benutzt.
http://www.tomshardware.de/ssd-ram-ram-disk-ramdrive-vergleich,testberi ...
Grüße Uwe
Eben.
Zumal ich solch eine Arbeit eigentlich als sinnlos empfinde, wenn man sich mal die Specs eines Standard DDR3-RAM-Riegels ansieht und sie mit denen einer SSD vergleicht. RAM >6GB/s versus ca. 600MB/s und IOPs > 1Mio versus ca. 80 000. Da sieht man schon so was abgeht.
Man müsste auch sämtliche Cache-Mechanissmen in Windows abschalten um nachvollziehbare Ergebnisse zu erzielen.
Auch sollte man natürlich bedenken das das Laden der Programme in die Ram-Disk beim Start des Rechners auch seine Zeit benötigt wenn man als Quellmedium keine SSD benutzt.
http://www.tomshardware.de/ssd-ram-ram-disk-ramdrive-vergleich,testberi ...
Grüße Uwe
Hi,
du könntest einfach schauen wann die CPU Last wieder abfällt. Bei Programmen mit nennenswerter Startzeit sollte das erkennbar sein.
Office 2003(wirklich?!). Hier stellt sich für mich die Frage ob du da exakt messen musst - Office 2013 startet auf meinem popeligen HP Probook Office Notebook in einer Sekunde.
Wenn ich dafür bei jedem ausschalten länger warten muss bis die RAM-Disk auf die SSD geschrieben wurde... Muss ich gar nicht überlegen ob Office auf die RAM-Disk soll.
SW die beim Starten lange braucht muss viel Daten von der Festplatte laden. Zb div Musik tools - eOrgel zb. Aber wenn die Orgel-Libraries beim Hochfahren in die RAM-Disk geladen werden, nur dass sie dann beim Softwarestart schneller geladen sind. Wenn ich so viel RAM habe, dass ich mehrere Libraries Laden kann (8Gb + pro Lib). Dann lad ich lieber die 3 Libs die ich brauche, an statt 500GB RAM zu installieren.
Mit ordentlicher/en SSD/s geht das eh schon schnell.
RAM-Disk nutzen wir nur wenn viel Daten generiert werden. Zb FEM-Berechnungen. Aber statische Daten laden viele Programme ja eh ins RAM.
Bei Photoshop kann man vll die Bilder in die RAM-Disk schieben. Aber Lightroom macht das zb eh schon automatisch. Und irgendwann müssen ja die Daten persistent gespeichert werden. Also irgendwann muss man dann doch mal warten.
btw
sg Dirm
du könntest einfach schauen wann die CPU Last wieder abfällt. Bei Programmen mit nennenswerter Startzeit sollte das erkennbar sein.
Office 2003(wirklich?!). Hier stellt sich für mich die Frage ob du da exakt messen musst - Office 2013 startet auf meinem popeligen HP Probook Office Notebook in einer Sekunde.
Wenn ich dafür bei jedem ausschalten länger warten muss bis die RAM-Disk auf die SSD geschrieben wurde... Muss ich gar nicht überlegen ob Office auf die RAM-Disk soll.
SW die beim Starten lange braucht muss viel Daten von der Festplatte laden. Zb div Musik tools - eOrgel zb. Aber wenn die Orgel-Libraries beim Hochfahren in die RAM-Disk geladen werden, nur dass sie dann beim Softwarestart schneller geladen sind. Wenn ich so viel RAM habe, dass ich mehrere Libraries Laden kann (8Gb + pro Lib). Dann lad ich lieber die 3 Libs die ich brauche, an statt 500GB RAM zu installieren.
Mit ordentlicher/en SSD/s geht das eh schon schnell.
RAM-Disk nutzen wir nur wenn viel Daten generiert werden. Zb FEM-Berechnungen. Aber statische Daten laden viele Programme ja eh ins RAM.
Bei Photoshop kann man vll die Bilder in die RAM-Disk schieben. Aber Lightroom macht das zb eh schon automatisch. Und irgendwann müssen ja die Daten persistent gespeichert werden. Also irgendwann muss man dann doch mal warten.
btw
Ich habe auf meinen Test-PCs 13 verschiedene installiert und wirklich massive Unterschiede in der Geschwindigkeit der einzelnen RAM-Disks festgestellt.
Die Tabelle würde mich interessieren.sg Dirm
Bedenke auch das Windows bei jedem Start im Hintergund mitbekommt was du startest du sich merkt welche Programme am meisten gestartet werden und dies in seiner prefetching Datenbank (C:\windows\prefetch) hinterlegt und DLLs und Bibliotheken teilweise im Vorraus in den RAM lädt und diese dort weiterhin vorhält. Man sollte den Rechner also bei jedem Durchlauf auf einen cleanen Snapshot zurücksetzen. Es gibt noch viel mehr zu beachten, das sind nur die wichtigsten Dinge.
Das mit der Kamera ist zwar gut gemeint, aber den Aufwand nicht wert. Viele Programme haben heute integrierte Programmierschnittstellen die es einem ermöglichen solche Zeitpunkte zu erfassen. Office(VBA) / Acrobat (VBS/Javascript) / etc.. Hier ist dann eine Anpassung an das jeweilige Programm nötig. Die verfügbaren Benchmarks enthalten solche Routinen bereits schon von Haus aus. Denn das WIN32-API stellt einem diverse Routinen bereit zu erkennen wann z.B. welche Usercontrols verfügbar sind oder nicht. Damit lassen sich dann solche Zeitpunkte erkennen und die Zeit entsprechend messen. Es wäre vieleicht nicht schlecht wenn du dir solche Benchmarks mal näher ansiehst, davon kannst du bestimmt noch eine Menge für dein Projekt abschauen.
Das mit der Kamera ist zwar gut gemeint, aber den Aufwand nicht wert. Viele Programme haben heute integrierte Programmierschnittstellen die es einem ermöglichen solche Zeitpunkte zu erfassen. Office(VBA) / Acrobat (VBS/Javascript) / etc.. Hier ist dann eine Anpassung an das jeweilige Programm nötig. Die verfügbaren Benchmarks enthalten solche Routinen bereits schon von Haus aus. Denn das WIN32-API stellt einem diverse Routinen bereit zu erkennen wann z.B. welche Usercontrols verfügbar sind oder nicht. Damit lassen sich dann solche Zeitpunkte erkennen und die Zeit entsprechend messen. Es wäre vieleicht nicht schlecht wenn du dir solche Benchmarks mal näher ansiehst, davon kannst du bestimmt noch eine Menge für dein Projekt abschauen.
würdest Du kluger Kopf (Das ist bitte ehrlich gemeint!)
Schleim beiseite! Woher willst Du das denn wissen?Uwe hat eigentlich alles schon erwähnt, hinsichtlich Cache usw.
dass es mir ja um den Unterschied von HDD/SSD zu RAM-Disk geht und die Programme dann immer dieselbe DLL vom selben Ort her laden müssen, also kommt bei jeweiligem 3-maligem Durchlauf ein zum jeweiligen anderem Speichersystem anderer Wert heraus.
Da fällt mir noch ein interessanter Punkt ein:Bei größeren Programmen wie z.B. Office liegen die Programmteile und DLL's verstreut in mehreren Ordnerstrukturen, u.a. auch im System32.
Wie willst Du das alles abfangen beim Kopieren auf Ramdisk? Du müsstest vorher genau erfassen, welche DLL usw. alle zum Start benötigt werden, diese dann kopieren. Ggf. von der Kopie registrieren und u.U. alle neu strukturieren (in Verzeichnis der EXE(n) kopieren) um sicherzustellen, dass dann auch wirklich die Kopien benutzt werden.
Ich würde sowas wahrscheinlich eher an den Dokumenten messen, also die Ladezeit derer. Dann könnte man das z.B. bei Office mit VBA realisieren. Schön komplexe Dokumente bauen, mit eingebundenen Bildern, Animationen, Filmen, Sounds und weiß der Geier was. Oder komplexe Excel-Tabellen berechnen lassen. Denk Dir was aus. SQL-Datenbanken, oder, oder, oder.
Moin
Die Zeit, die ein Programm zum starten braucht, sofern sie im sekundenbereich ist, ist völlig wumpe.
Natürlich ist es eindrucksvoll, wenn das programm mit dem doppelkli k schon da ist, aber das wesentliche sind immer noch die iops und flops, die zur verfügung stehen, was dann die geschwindigkeit dess programmes ausmacht.
Ramdisks sind für denn programmstart nur dann wichtig, wenn es oft gestartet und beendet wird. Ansobsten ist es bei heutigen ramgrösen eher vom chaching abhängig, ob das programm lahm ist oder nicht. Sinnvoller als eine Ramdisk für Programme ist eher intelligentes caching.
Lks
Die Zeit, die ein Programm zum starten braucht, sofern sie im sekundenbereich ist, ist völlig wumpe.
Natürlich ist es eindrucksvoll, wenn das programm mit dem doppelkli k schon da ist, aber das wesentliche sind immer noch die iops und flops, die zur verfügung stehen, was dann die geschwindigkeit dess programmes ausmacht.
Ramdisks sind für denn programmstart nur dann wichtig, wenn es oft gestartet und beendet wird. Ansobsten ist es bei heutigen ramgrösen eher vom chaching abhängig, ob das programm lahm ist oder nicht. Sinnvoller als eine Ramdisk für Programme ist eher intelligentes caching.
Lks
noch ein Gedanke zu "Process Lasso" und hundertstel Uhr - damit verfälschst du dir sowieso wieder die Ergebnisse. Die Uhr musst du wenn auf einem eigenen Gerät laufen lassen.
Aber das hört sich leider alles nach "wissenschaftlichem Aufwand" an
Vertief dich nicht in eine möglichst komplizierte Messung (außer du hast doch irgendeine Begründung dafür). Sprich mit deinem Betreuer darüber was ihm am liebsten wäre. Mach es so und gib ab.
Aber das hört sich leider alles nach "wissenschaftlichem Aufwand" an
Vertief dich nicht in eine möglichst komplizierte Messung (außer du hast doch irgendeine Begründung dafür). Sprich mit deinem Betreuer darüber was ihm am liebsten wäre. Mach es so und gib ab.