Wie viel Aufwand, um für mehrere OS zu entwicklen?
-
VS 2010 ist fies.
Wobei es Installationen gibt die sehr schnell starten (max. 1-2 Sekunden), andere auf gleicher Hardware brauchen so um die 10 Sek. oder mehr. Beim 2. mal Starten!
Vermutlich ist irgendeine Komponente schuld die man optional mit installieren kann. Bloss weiss ich nicht welche
-
Zwergli schrieb:
12 sec ist laaannge schrieb:
.Net wird sicher vorgeladen, weil es inzwischen gehäuft von verschiedenen Anwendungen unter Windows benutzt wird und ich merke es auch an der langsamer gewordenen Startzeit meines Windows, nachdem ich VS installiert habe.
Dann wirds ja aus gutem Grund geladen, einfach weils benötigt wird von irgendwelchen Programmen. Windows an sich lädt das nicht automatisch. Wenn du .Net irgendwie ankreiden möchtest, das es überhaupt geladen werden muss bei der ersten Benutzung, vergiss nicht das es bei C und C++ Programmen genauso ist. Es gibt auch ne C Runtime und ne Visual C++ Runtime die geladen werden müssen (was sogar richtig ätzend ist da, zig Versionen parallel geladen werden müssen). Das geschieht auch meistens beim Start, weil halt Windows auch viele davon brauch.
Ich habe ja gesagt, daß es einen Unterschied macht, wenn APIs zum OS Bestandteil (WinAPI, MFC und inzwischen wohl auch .NET)gehören oder extra noch geladen werden müssen (letztere gilt für GTK+, qt, JVM und viele weitere).
-
MFC und .NET gehören nicht zum OS. Sie werden nur mininstalliert.
MFC und .NET werden auch - wie jede andere DLL die nicht mit dem Kernel verheiratet ist - für jeden Prozess neu initialisiert. (Das trifft übrigens auf den überwiegenden Grossteil der DLLs in system32 zu, gibt nur ein paar wenige Ausnahmen ala GDI, KERNEL, USER)
Was CPU-Zeit beim Starten angeht sind diese also genau gleich zu sehen wie komplett unabhängige Libs/DLLs ala Boost, Qt, ...
Und die echten "Ladezeiten" (HDD Zugriffe) sind (mir persönlich) vollkommen egal, denn das sind bei mir SSD Zugriffe, und kaum spürbar.BeispielL VS 2010 startet das 1. mal nach nem Reboot vielleicht 1-2 Sekunden langsamer als beim 2. Start wo schon alles im Cache steht -- bei geschätzten 20+ Sekunden die es CPU Zeit benötigt Fällt das nicht ins Gewicht.
Bei dnGREP ist es das selbe. Wie auch bei jedem anderen Programm das mich mit langen Startzeiten nervt.Bei Rechnern ohne SSD sieht die Sache anders aus, aber darauf würde ich Anno 2012 nicht mehr optimieren. Die Zeit des Mitleids mit SSD-losen Usern ist vorbei
-
hustbaer schrieb:
Bei Rechnern ohne SSD sieht die Sache anders aus, aber darauf würde ich Anno 2012 nicht mehr optimieren. Die Zeit des Mitleids mit SSD-losen Usern ist vorbei
Also ich würde sagen, die große Mehrheit der PC User hat noch keine SSD. Insofern ist das schon eine Ansage, dass dir deren Startzeiten egal sind
Im Übrigen denke ich, dass auch hier im C++-Forum noch sehr viele ohne SSD arbeiten (inkl. mir).
-
hustbaer schrieb:
Bei Rechnern ohne SSD sieht die Sache anders aus, aber darauf würde ich Anno 2012 nicht mehr optimieren. Die Zeit des Mitleids mit SSD-losen Usern ist vorbei
Stell dir vor, die Entwickler würden nur noch SSD-Zeiten beachten, dann wären wir wieder schnell bei den Startzeiten angelangt, die man bei Festplatten hat...
-
Steffo schrieb:
hustbaer schrieb:
Bei Rechnern ohne SSD sieht die Sache anders aus, aber darauf würde ich Anno 2012 nicht mehr optimieren. Die Zeit des Mitleids mit SSD-losen Usern ist vorbei
Stell dir vor, die Entwickler würden nur noch SSD-Zeiten beachten, dann wären wir wieder schnell bei den Startzeiten angelangt, die man bei Festplatten hat...
Ein Systemprogrammierer hat ihm schon gerettet
-
Lasst mich mal so sagen: wenn ich ein Programm habe das beim ersten Start mit ner 7200 U/min Platte 10 Sekunden IO macht und 10 Sekunden CPU-Zeit weglutscht, dann versuch ich definitiv die 10 Sekunden CPU-Zeit wegzubekommen. Wenn ich Zeit hab beides zu optimieren, und der Aufwand die IOs kleinzukriegen gering ist, OK, dann halt machen.
Sogar bei 10 Sekunden IO und 2 Sekunden CPU würde ich noch eher die 2 Sekunden CPU bekämpfen bevor ich mir den IO ansehe. Zumindest so lange die IOs Leseoperationen sind. Dann muss der arme HDD User nämlich auch nur beim 1. Start so lange warten, und das auch nur wenn sein OS den Prefetch nicht hinbekommt und/oder er das Programm *sofort* nach dem Start des OS startet.
Aber grundsätzlich sehe ich
im Allgemeinen
keinen besonderen Sinn dahinter noch viel Zeit und Geld in Optimierungen zu stecken, die mit SSDs egal werden. Weil die einfach kommen. In 3-4 Jahren haste die per Default in €500 PCs für Omma drinnen.Gerade in meiner Firma haben wir allerdings nicht-so-allgemeine Fälle, wo es nicht so egal ist, und ich gezwungen bin trotzdem über IOs nachzudenken. Dann tu' ich das natürlich auch
Steffo schrieb:
hustbaer schrieb:
Bei Rechnern ohne SSD sieht die Sache anders aus, aber darauf würde ich Anno 2012 nicht mehr optimieren. Die Zeit des Mitleids mit SSD-losen Usern ist vorbei
Stell dir vor, die Entwickler würden nur noch SSD-Zeiten beachten, dann wären wir wieder schnell bei den Startzeiten angelangt, die man bei Festplatten hat...
Ja, komm, das ist der Lauf der Welt.
Die "dann wären wir wieder schnell bei (irgendwas was langsam/schlecht ist)" Argumentation ist mMn. doof. Einerseits wird es einfach so gemacht, das schleift sich früher oder später ein. Es fordert heute auch keiner mehr ernsthaft dass man GUIs mit native WinAPI zusammenbaut. Weil man es sich einfach leisten kann die MFC oder .NET oder sonstwas hochzuziehen um einen Dialog anzuzeigen damit der User dann einen Integer in einem .ini File ändern kann. Weil's einfach Entwicklungskosten spart.Andrerseits muss man es ja auch nicht darauf anlegen absichtlich doof zu sein, davon spricht ja keiner.
-
Zeus schrieb:
Ein Systemprogrammierer hat ihm schon gerettet
Ich verstehe nicht was du damit meinst. (Ernsthaft nicht, ich weiss nichtmal grob in welche Richtung, und auch nicht an wen der
gerichtet ist.)
Du solltest ernsthaft daran arbeiten dich verständlich auszudrücken.
-
hustbaer schrieb:
Zeus schrieb:
Ein Systemprogrammierer hat ihm schon gerettet
Ich verstehe nicht was du damit meinst. (Ernsthaft nicht, ich weiss nichtmal grob in welche Richtung, und auch nicht an wen der
gerichtet ist.)
Du solltest ernsthaft daran arbeiten dich verständlich auszudrücken.Das war eine Anspielung wie ein Loader im Betriebssystem funktioniert.
-
Ich versteh's immer noch nicht.
Ein Loader im OS tut loaden. Nix spezielles gibt's da nicht. Wen rettet das vor was?