Werden Programme ressourcenfressender?

Hallo!

Kurz zur Vorgeschichte:
Hatte lange Zeit einen Laptop mit 512 MB RAM und musste darauf sehr achten, was aktuell läuft.

... Diese Angewohnheit habe ich mir noch nicht abgewöhnt, besitze nun mittlerweile aber 6 GB :wink:

Und so fiel mir in letzter Zeit auf, dass relativ viele Programme, die erst kürzlich veröffentlicht worden sind, extrem viel Speicher fressen. (Den Speicher beobachte ich im Process Explorer, Sysinternals; WIN7x64 Ultimate)

So habe Ich gerade Opera 10.53 geöffnet, 5 Tabs, davon 3 Codeproject und eben 2 Habo, macht zusammen 164 MB an privatem Speicher.

Dasselbe mit Visual Studio 2010 Ultimate: Hab ein WinForms-Projekt geöffnet, ohne besondere Extras: 298 MB (IntelliTrace aktiviert)
im Vergleich: Visual Studio 2008 Prof.: 68 MB

Winamp5.572: keine soo große Musik-Library, 86 MB

aber es geht auch anders:
Xilinx ISE 12.1: 5.6 MB :) (Idle-Mode, lediglich Projekt geladen)

Nun zu meiner "Frage":
Habt Ihr die gleichen Erfahrungen gemacht - natürlich entwickelt sich die Hardware ständig weiter - aber ich finde das schon ziemlich extrem, v.a. da man als Entwickler ja ständig probiert, "optimiert" zu programmieren. Oder ist diese Entwicklung ganz normal und kommt nur mir "extrem" vor? - vielleicht eine Frage, die für jene ist, die schon länger in dieser Branche tätig sind bzw. mehr Erfahrung als ich gesammelt haben :wink:.

Ich persönlich denke dazu:
Opera frisst soviel, da die neue Engine seit 10.5 nicht ausgereift ist,
VS wegen der neuen WPF-Oberfläche und Winamp: aufwendiges UI.

Aber vielleicht täuscht es mich ja nur...

Naja meinem RAM schadet es ja nicht, ein bisschen ausgelastet zu werden

Freue mich schon auf Eure Meinung/Beiträge, danke!
 
Zuletzt bearbeitet:
Keine Ahnung was du mit Opera hast, aber bei sind es bei 5 Tabs knapp unter 100 MB (Opera 10.53). Und während ich das geschrieben habe, sprang er über die 100er Marke :P

Nachem ich faul bin, mache ich das jetzt mal anders:
attachment.php

attachment.php
Ich vermute der erhöhte Speicherbedarf hängt damit zusammen, dass alle möglichst viel bling-bling wollen. Außerdem soll alles möglichst sofort passieren, und da besteht nun mal oft die Möglichkeit eine kürzere Berechnungsdauer gegen mehr Speicherverbrauch einzutauschen.

Ich habe noch schnell einen Test gemacht: Der BCB6 braucht während dem Erstellen einer Anwendung aus ~30000 Zeilen Code maximal 80 MB, während man tippt sogar unter 20 MB. Ein wunderschönes Beispiel im Vergleich zu Visual Studio: mehr Komfort, höherer Ressourcenverbrauch.

Das lief übrigens auf einem Rechner mit Windows XP 32 Bit, Q6600 und 2 GB Arbeitsspeicher.

mfg benediktibk
 
Zuletzt bearbeitet:
Hatte kürzlich auch mal geschaut, da hatte ich 9 gut gefüllte Arbeitsflächen mit Firefox, Rhythmbox, Thunderbird, Open Office Writer, einige Evince, Geany, etc. und hatte noch nicht einmal die Hälfte von meinem 1gb voll...
Hatte mich schon überrascht.
 
Es ist in letzter Zeit einfach nicht mehr auf so sehr auf die ressourcen beim Programmieren geachtet worde.
Manche fragen sich wozu auch , denn 3-6 Gb an Arbeitspeicher sind keine seltenheit mehr.
Bis vor zwei Jahren haben mir 512Mb (ddr2) locker gereicht. Jetzt platz meinem Pc der Kragen weil selbst 2Gb nicht mehr reichen.

Ein Beispiel aus der Pc spiel Welt. Jeder der WOW spielt wird merken, dass in Dalaran tote Hose mit nem älterne Pc ist. Da sind die 2Gb mehr als ausgelastet. (kann aber auch sein das ich irgentwas falsch mache :D)
 
Ich benutze den Firefox und mir ist aufgefallen, daß es wohl auch teilweise an den Webseiten liegt die geöffnet sind wie hoch der Speicherverbrauch ist. Gerade Seiten die ständig zeitgesteuerte Ajax-Requests absenden (ist zumindest meine Vermutung) steigt der Speicherverbrauch übern Tag hinweg recht immens.
 
Firefox scheint sich aber auch so ein wenig an dem vorhandenen Speicher zu orientieren. Ein und die selbe Installation mit nur unterschiedlich viel Ram braucht in der Nutzung auch unterschiedlich viel Speicher. Je mehr zur Verfügung steht, desto mehr gönnt sich FF auch. Meiner gönnt sich z.B. mit gerade mal 7 Tabs (sind eigentlich immer die gleichen) so zwischen 350 und 400 MB bei 2GB Ram.
 
Ja. Ist leider wirklich so. Die Entwickler achten zu wenig auf Optimierungen. Das erste radikale Beispiel dafür war, meiner Meinung nach, Windows Vista. Auf einmal brauchte man das fünffache an Arbeitsspeicher im Vergleich zu Windows XP und das nur um ein paar schöne Effekte zu sehen...

Ich glaube außerdem, dass das eine Strategie der Softwareentwicklungsfirmen ist, die Kunden dazu zu bringen, ihre Hardware aufzurüsten. Hat gleich 2 Vorteile(nicht für die Kunden): Die Programmierer müssen nicht so auf den Speicher achten und die Entwicklungszeit wird um einiges kürzer.

mfg Christian
 
wollen wir doch mal ehrlich sein.

heute steckt in jeden rechner der irgendwie als neu verkauft wird rund 2 gb speicher als ram drinne. da muss ein programmierer garnich mehr drauf achten wieviel ram ich belege, nur doof wenn das alle machen^^:rolleyes:

früher war wenig ram da, musste jeder schauen wie er damit umgeht und auf möglichst vielen rechnern zum laufen bekommt.
 
da muss ein programmierer garnich mehr drauf achten wieviel ram ich belege, nur doof wenn das alle machen^^:rolleyes:

Genau so sieht es aus. Bei der gänigen 08/15 Programmierung für Desktopanwendungen interessiert einen Programmierer der Resourcenverbrauch erst, wenn er spürbar wird. Da geht es vorallem darum die Software schnell fertig zu stellen. Ich seh das täglich bei meinen Kollegen und könnte mich jedesmal darüber aufregen...
 
Bei mir liegt mein Firefox bei fast 400MB wobei ich sagen muss das ich 20Tabs auf habe und
da auch teilweise vor und zurück Springe in den seiten ;)
 
Genau so sieht es aus. Bei der gänigen 08/15 Programmierung für Desktopanwendungen interessiert einen Programmierer der Resourcenverbrauch erst, wenn er spürbar wird. Da geht es vorallem darum die Software schnell fertig zu stellen. Ich seh das täglich bei meinen Kollegen und könnte mich jedesmal darüber aufregen...

Wobei man aber auch sagen muss, dass es teilweise an den "modernen" Programmiersprachen liegt. Wenn ich sehe, wie wenig Einfluss man auf den Garbage Collector z.B. bei .NET hat... Selbst wenn man darauf achtet, Resourcen freizugeben, kann man sich nicht darauf verlassen, dass der GC das auch zeitnah macht. Da kommen auch für ein kleines Programm schnell mehrere MB Arbeitsspeichernutzung zusammen.
 
was soll man dazu noch sagen, was nicht schon gesagt wurde...
Die Leute die heute Programmieren können dies in den meißten Fällen überhaupt nicht mehr. Die nehmen irgendwelche Programme wo man sich die Funktion eines Programms einfach zusammen klickt (zieht). Gibt ja genug von dem Mist.
Da aber sehr viele Leute der Meinung sind, dass sie ja schon einmal ein Batch Script geschrieben bekommen haben, der Rest ja auch nur pillepalle ist...naja.

Man sieht an den Programmen meisst auch, seit wann die Leute sich mit PCs beschäftigen. Jemand, der schon auf nem 386 oder früher Programmiert hat, weiß halt noch was es heißt mit den Ressourcen zu haushalten.

Wieviel GB brauchte ein Windows 3.1 oder sogar ein XP im gegensatz zu Vista und später. Auch die Linux Leute schaffen es heute ihre Software immer schlechter zu schreiben.

Das schlimmste daran ist, dass die Programme durch diese unfähigkeit immer mehr Sicherheitslöcher in jeglichen System bringen.

Prgramme sollten kurz, knapp, funktional sein und auch so gestrickt das sämtliche Fehler, welcher ein DAU verursachen kann, aufgefangen wird. ;)
 
Bei der gänigen 08/15 Programmierung für Desktopanwendungen interessiert einen Programmierer der Resourcenverbrauch erst, wenn er spürbar wird. Da geht es vorallem darum die Software schnell fertig zu stellen. Ich seh das täglich bei meinen Kollegen und könnte mich jedesmal darüber aufregen...

Genau so ist es. Man kann keinem Kunden verkaufen daß man Zeit und damit Geld darauf verwenden will möglichst resourcenschonend zu Programmieren wenn die ein riesen Rechenzentrum haben (ich rede hier natürlich von serverseitiger Software, z.B. JEE-Applications)

Wobei man aber auch sagen muss, dass es teilweise an den "modernen" Programmiersprachen liegt. Wenn ich sehe, wie wenig Einfluss man auf den Garbage Collector z.B. bei .NET hat... Selbst wenn man darauf achtet, Resourcen freizugeben, kann man sich nicht darauf verlassen, dass der GC das auch zeitnah macht. Da kommen auch für ein kleines Programm schnell mehrere MB Arbeitsspeichernutzung zusammen.

Jeder der schon mal professionell in C oder so programmieren musste ist heidenfroh daß er sich um Speichermanagment nicht mehr kümmern muss, und das ist auch gut so. Die Welt steht nicht still und die GCs werden auch immer besser (zumindest bei Java).

Prgramme sollten kurz, knapp, funktional sein und auch so gestrickt das sämtliche Fehler, welcher ein DAU verursachen kann, aufgefangen wird. ;)

Ich hoffe daß das ein Scherz sein soll. Die IT-Branche dürfte wohl froh sein daß Kunden nicht nur "kurze" Programme mit entsprechend kleinem Funktionsumfang haben wollen. Größere Applicationen dürften wohl nie vollkommen fehlerfrei sein oder hast du schon mal z.B. ein Windows oder Linux ohne jegliche Fehler gesehen?!?
 
Firefox hat ja auch einige Memorylecks (nicht nur in den Plugins) ;)
Ansonsten gilt eher:

Softwarefeatures == Entwicklungszeit
Ressourcen/Performance == Entwicklungszeit (oder auch Abstraktionslevel)

PS:
Wieviel GB brauchte ein Windows 3.1 oder sogar ein XP im gegensatz zu Vista und später. Auch die Linux Leute schaffen es heute ihre Software immer schlechter zu schreiben.
Und wieviele Features/Benutzerkomfort hatte die Software? ;)
Man vergleiche mal einfach IE 4.0 oder Netscape Navigator 3 oder das alte MS Office 97 mit der aktuellen Software.
Auch die "Linuxer" gehen langsam dazu über, eierlegende Wollmilchsäue zu produzieren. Dass bei einer begrenzten Entwicklungszeit dabei irgendwas auf der Strecke bleibt (Performance/Sicherheit usw) ist nicht verwunderlich.
Dass sich die heutigen Anforderungen seitens User an die Software aber auch _deutlich_ von den "damaligen" unterscheiden, dürfte man nicht außer acht lassen.
 
Bei mir liegt mein Firefox bei fast 400MB wobei ich sagen muss das ich 20Tabs auf habe und
da auch teilweise vor und zurück Springe in den seiten ;)
Und ich nehme an, das vor- und zurückspringen geht extrem schnell, weil der Firefox alles im Ram behält.

Ansonsten mal
Code:
sudo sync && sudo -s "echo 3 > /proc/sys/vm/drop_caches"
machen und schauen, wieviel der Cache des Dateisystems macht, der (hoffentlich) sowieso ganz schnell freigegeben werden könnte.
 
Was ich Ausgedrückt habe ist meine persönliche Meinung dazu,so wie Ihr eure Meinung dazu habt. Fakt ist nur, dass ich beruflich damit zu tun habe und täglich die unfahigkeit, nachlässigkeit oder ignoranz von den verschiedesten Softwarehäusern auf dem Tisch habe.

Ich habe seit Jahren nicht eine Software gesehen, die sauber durchdacht programmiert wurde.
Wenn man sich einmal auf die Wichtigsten Funktionen eines Betriebssystem beschränkt, so kann ich nur sagen, dass diesen ganzen Verbesserungen nur ein Witz sind. Das so ein Betriebssystem wie Win7 z.B. dem Anwendern im Windows Explorer Ordner unter anderem Namen darstellt, als wie er wirklich heißt, wenn man z.B. den ordner Eigene Daten auf einen anderen Ordner umlenkt und das jedes andere Programm den richtigen Pfad anzeigt, sogar die Kommandozeile spricht da die Wahrheit. Wo ist da der Mehrwert?
Ich mag Programme dir mir da an dieser Stelle z.B. die Wahrheit sagen.
Ich rede hier nicht von den ganzen Verknüpfungen unter Laufwerk C für die Kompatibilität der verschiedenen Sprachversionen!

Aber wie schon gesagt, ist dies meine persönliche Meinung und Programme sollten nicht so voll gestopft werden, nur damit diese zum Xten mal eine Funktion ausüben, welche mittlerweile jedes dritte Programm ausführt. Sauber Schnittstellen sind da das Zauberwort, aber da muss ja jeder seinen eigenen Senf erfinden.

Entschuldigung, wenn ich damit irgendjemanden auf die Füsse tre...., aber so sehe ich das nunmal.
 
Ich sehs hier bei meiner Arbeit.
Vor 4 Wochen müsste ich einen "Fehler" beheben der zum total Absturz der Anwendung führte.
Die Anwendung wollte 6.5 Millionen Datensätze aus einer Datenbank in den Arbeitsspeicher schreiben. Ein Fehler war es leider nicht wirklich , da es so gewollt war. Man konnte sich vor 5 Jahren nur nicht vorstellen , dass die Datenbank mal so groß sein wird.:rolleyes:
 
Zurück
Oben