Speicherbedarf von applikationen

hallo.

was mir in den letzten jahren zunehmend auffällt und mich zunehmend ärgert:
programme sind unheimliche RAM-fresser.

beispiel firefox: je länger ich das ding offen habe, umso mehr speicher braucht es. einfach nur vom geöffnet sein. egal wie viele fenster, egal ob ich aktiv browse oder nicht. das können schon mal 600MB sein.

opera ist nicht viel besser.

die entwicklungsumgebung eclipse ist nicht ganz so hungrig, aber 300MB können dafür auch schon mal weg sein. für einen editor!
mein guter alter CodeWright begnügt sich mit maximal einem zehntel und ich kann damit genauso komfortabel code editieren.

frage:
woran liegt das? gegenüber „früher“ ist auf den ersten blick kein mehrwert zu erkennen, der einen so exorbitanten speicherbedarf rechtfertigt.
wird heute einfach schlampiger programmiert?

gruß

michael

Hallo,

tja, vielleicht eine Mischung verschiedener Ursachen wie z.B.:

Immer größer werdende Ansprüche der Benutzer
Preiswerter Hauptspeicher schnellere Prozessoren usw.
Einsatz von nicht (immer) geeigneten Entwicklungsumgebungen, Werkzeugen.
Gedankenlosigkeit
Wunsch nach eierlegenden Wollmilchsäuen
Zugrunde liegende Betriebssysteme
Mangelnde Erfahrung/Kenntnisse seitens der Programmierer
Jägermeister
Zeitmangel bezüglich der Optimierung
usw. usf.

Ich weiß nicht, ob schlampiger programmiert wird und möchte dies auch nicht grundsätzlich unterstellen. Ich glaube, daß diese Erklärung ein wenig einfach wäre.

Ich selbst bin z.T. immer wieder erstaunt, daß selbst vergleichsweise simple Anwendungen so verschwenderisch mit Ressourcen umgehen.

Andererseits haben viele Entwickler die Situation erkannt. So ist die aktuelle FF-Version beileibe nicht mehr so verfressen, der Linux-Kernel schneller und dynamischer und es gibt zigtausende von sauber programmierten Anwendungen.

Grafische Benutzeroberflächen sind natürlich immer ein Problem, mal mehr, mal weniger.

Ich habe - damals, als wir zwar keinen Kaiser hatten, aber das Gras noch grüner war - eine Warenwirtschaftsanwendung auf Grundlage von RBase (Microrim?) geschrieben, auf einem 386er-Server unter Netware. 100.000 Artikel, rund 10.000 Kunden, Netzwerk Arcnet. 25 Clients und lief wie eine Rennsau.

Hat aber auch lange gedauert und die Optimierung bezüglich der Performance hat sicherlich fast ebenso viel Zeit in Anspruch genommen wie die „Basisprogrammierung“.

Gehört aber wohl eher in Brett „Nostalgie“. Seufz!

Inzwischen verschwende ich meine Zeit mit der Programmierung von Mikroprozessorem und mache mir Gedanken, wie ich Fließkomma-Operationen vermeiden kann, um meinen Code um 1 kiB zu verschlanken.

Macht aber Spaß!

Nachdenkliche Grüße

godam

Hallo michael,

frage:
woran liegt das? gegenüber „früher“ ist auf den ersten blick
kein mehrwert zu erkennen, der einen so exorbitanten
speicherbedarf rechtfertigt.
wird heute einfach schlampiger programmiert?

Grundsätzlich sind schon einmal die Laufzeitbibliotheken wesentlich grösser geworden.
Speicherplatz ist kein Thema mehr.
z.B. verwenden manche Programmiersprachen 32 Bit für eine Boolvariable.

OO ist zwar etwas schönes, aber mehrfach vererbte Objekte, benötigen zwangsweise auch den Speicherplatz für alle verwendeten Teilobjekte. Viele Programmierer wissen gar nicht, was sie dann mit einem Einzeiler alles auslösen.

Um Anwendungen einfacher portieren zu können werden Zwischenschichten verwendet.

Die Ansprüche an die graphische Gestaltung ist auch gestiegen. Selbst früher, bei rein Textbasierten Eingabemasken, brauchte man meist die halbe Entwicklungszeit nur für das Erstellen dieser Masken.

Die Zeit für eine Analyse und Optimierung fehlt heute meist. Ist heute auch komplexer als bei den einfachen Programmen früher.

Ich bin auch von der Fraktion, welche sich mit den kleinen Controllern rumschlägt. Da macht man sich halt öfters Gedanken wie man ein paar Hundert Datensätze in 4KB Speicher unterbringen kann.
Und bei Echtzeitanwendungen verbringt man auch mal einen Arbeitstag nur damit, eine Formel so umzustellen, dass man Fliesskomma-Rechnungen eliminieren und mit möglichst wenig Rechenoperationen auskommen, bzw. möglichst viel Rechenarbeit dem Compiler übertragen, kann.

MfG Peter(TOO)

So isses!

Hallo

Speziell bei den Internetprogrammen hatte ich den Eindruck, das für jede neue Webseite eine neue Instanz Internetexplorer aufgebaut wird, und beim Schließen nur der Seite aber oft nichts wieder freigegeben wird. Gebrauchter Speicher liegt „auf dem Müll“ und wird erst entladen(automatisch von Windows), wenn die ganze Anwendung geschlossen wird, was ich für einen typischen Programmierfehler halte. Funktioniert doch!

Mfg
Matthias

Die neueren Browser lassen eben alle cookies usw. im Speicher liegen, bis das System sie in die Auslagerungsdatei schiebt…
Die meisten Informationen der Websites werden, je nach Einstellungen, noch ne Zeit lang aufgehoben, falls du mal zurück drückst. Da viele Browser die Seiten in gewissen Zeitabständen automatisch aktualisieren, kann es durchaus sein, dass nicht sauber aufgeräumt wird und „gigantische“ Berge an Daten aus einer 1MB-Seite entstehen. Aber keine Sorge, sobald es in die Gigabytes geht wird es bestimmt als Bug eingestuft xD

Wär toll, wenn das schon alles wär, will meinen Browser auch weiterhin im Hintergrund zu Starcraft laufen lassen ^^