Warum funktioniert bei Browsern die garbage collection so schlecht?
Geizhals » Forum » Programmierung » Warum funktioniert bei Browsern die garbage collection so schlecht? (43 Beiträge, 985 Mal gelesen) Top-100 | Fresh-100
Du bist nicht angemeldet. [ Login/Registrieren ]
....
Re(4): Warum funktioniert bei Browsern die garbage collection so schlecht?
29.08.2013, 15:09:38
OK, das Programmieren selber dauert halt 50mal so lang. Aber das ist ja egal.
Schließlich ist ja jedes kB wertvoll!!!

das Merkmal eine guten und effizienten Programmierers ist es, zu wissen, wo man optimieren muß, kann und sollte.
Und oft fehlt schlicht nur ein explizites (logisches) free() am Ende des Destructors (jajaja - genau das sollte mit GC und OOP obsolet sein - nur: wir wissen, wie es praktisch läuft). In Pascal wurden alle Arten von Speicherschweinereien sofort geahndet, in C hat man Narrenfreiheit = volle Kontrolle, aber auch volle Verantwortung. Seit Java ist leider das Nachdenken über Speicherverbrauch komplett aus der Mode gekommen und gleichzeitig dürften die Serialisierer schlicht ineffizient codieren. Siehe auch der Speicherverbrauch von DOM-Parsern. Das sind Bibliotheksfunktionen, die nur EINMAL zentral verbessert werden müssten und von denen dann unzählige Programme profitieren würden.

Abgesehen davon, daß effiziente Betriebssysteme eine grundsätzlich genauere Vorstellung davon haben, was ihre EIGENE Aufgabe ist, die der libc und die der Anwendungsframeworks.

Aber (fast) jede Plattform, die an Benutzern gewinnt, mutiert gleichzeitig zu einem schwabbeligen Etwas aus Eyecandy-Funktionalität, Rückwärts-Kompatibilität und 4G-Entwicklungstools, die die ursprünglichen Stärken sukzessive eindampfen :-/:~(

29.08.2013, 15:10 Uhr - Editiert von user86060, alte Version: hier
Antworten PM Übersicht Chronologisch Zum Vorgänger
 
Melden nicht möglich
......
Re(6): Warum funktioniert bei Browsern die garbage collection so schlecht?
29.08.2013, 15:42:37
Ein GC ist kein Wundermittel. Wenn der Programmierer *PIEP*e baut, hilft der
beste GC der Welt nichts. Viele Programmierer können auch nicht richtig
objektorientiert programmieren.

hab auch nichts anderes behauptet - ein Werkzeug ist immer nur so gut, wie derjenige, der es benutzt.

(a fool with a tool is still a fool....)

  Aber ich würde das Problem nicht in der Technologie suchen, sondern beim
Menschen.

sagen wir so (bzw. wie eigentlich schon ausgeführt): das Aufkommen von GC und abstrakteren Sprachen hat eben scheinbar dazu geführt, daß der lower-level-Hintergrund dazu aus den Lehrplänen geflogen ist oder zumindest in der Ausbildung immer knapper behandelt wird.


Wenn jemand mit Java schlampig programmiert, dann würde er auch in C schlampig programmieren.

da muß ich widersprechen bzw. möchte einwerfen: Wenn man seinerzeit in Turbo Pascal mit Speicher und Pointern dumm herumgespielt hat, wurde man von einem Netz (der Runtime-Umgebung mit ihren zig eincompilierten Checks) sanft abgefangen und landete entweder wieder im Debugger oder zumindest bei einer sinnvollen Fehlermeldung. In Turbo C flog man aus dem Programm und ohne debug libs aus dem "Betriebssystem" (DOS ...) = sowas lehrte einen, nicht schlampig zu arbeiten, so wie generell wohl langsame oder sonstwie eingeschränkte Entwicklungsumgebungen zwar nicht unbedingt die Produktivität an sich, aber auf jeden Fall die Codequalität steigern, weil man nicht in try&error verfällt, sondern echt nachdenkt, was man tut!



Antworten PM Übersicht Chronologisch Zum Vorgänger
 
Melden nicht möglich
......
Re(6): Warum funktioniert bei Browsern die garbage collection so schlecht?
29.08.2013, 23:09:31
Ich sehe das Problem nicht. 900 MB RAM usage fuer eine Applikation ist etwas,
worueber ich nichtmal nachdenke - wieso sollte ich. Und mein Nightly laeuft
super stabil. Soll er doch das doppelte brauchen - stoert mich auch nicht.

entweder du bist ziemlich jung - denn die Diskussion taucht alle paar Jahre wieder auf, weil der Speicherhunger immer noch ungebremst wächst, während weiter am unteren Rand des Leistungsspektrums Gerätegruppen auftauchen, die halt aus dem Stegreif schwächer bestückt sind, aber danach schreien, pfiffig genutzt zu werden (Notebook, Netbooks, Handys, Tablets, derzeit Android-Sticks, Raspberry & Co)  -
oder aber: du bist einer derjenigen, die dieses Problem aus reinem Egoismus und Selbstherrlichkeit der persönlichen Ausstattung negieren oder ignorieren.

Klar: in den ersten paar Jahren mit dem eigenen PC sind wir alle Helden mit schneller GraKa, riesigem Schirm, superduper Soundsystem, Maus mit mehr dpi als die letzte Camera auf dem Mond und eben mehr RAM, als man zum Zeitpunkt von Apollo 13 man weltweit hätte finanzieren können....

aber Sache ist: die Effizienz heutiger Software entwickelt sich schneller nach unten, als die Leistung der Hardware nach oben!

Der Effekt ist derselbe wie mit der Weltwirtschaft: ein Regelkreis, der unter seinen eigenen Parametern unweigerlich sehenden Auges krachen wird.

Also schieb deine "ich hab den tollsten + buntesten PC meiner Klasse"-Allüren beiseite und akzeptiere, daß die Optimierung von Sourcecode und Frameworks durch ein paar Dutzend Leute ein Dienst an ZIGTAUSENDEN Benutzern und ihren alternden, aber tadellos funktionierenden Geräten ist ...

Und der persönliche "pimp my PC"-Wahn wird in ein paar Jahren auch verebben ;-)  

Antworten PM Übersicht Chronologisch Zum Vorgänger
 
Melden nicht möglich
.......
Re(7): Warum funktioniert bei Browsern die garbage collection so schlecht?
19.09.2013, 19:56:25
Es ist ja immer drollig, wenn Leute Sachen schreiben wie

>>entweder du bist ziemlich jung

Also danke erstmal fuer das Kompliment - ich bin knapp ueber 28. Wieso das Alter auch nur irgendwie in einer technischen Diskussion relevant sein soll, verstehe ich zwar nicht, aber ich verstehe ja viel nicht. Waere meine Hautfarbe oder mein Religionsbekenntnis relevant?

>>die halt aus dem Stegreif schwächer bestückt sind
Also ich weiss ja nicht, welche HW du verwendest, aber mein Handy hat mehrere GB RAM, und verwendet ausserdem einen auf die mobile Plattform speziell zugeschnittenen Browser, der sich anders als jener auf dem Desktop verhaelt.



>>oder aber: du bist einer derjenigen, die dieses Problem aus reinem Egoismus und Selbstherrlichkeit der persönlichen Ausstattung negieren oder ignorieren.

Klar: in den ersten paar Jahren mit dem eigenen PC sind wir alle Helden mit schneller GraKa, riesigem Schirm, superduper Soundsystem, Maus mit mehr dpi als die letzte Camera auf dem Mond und eben mehr RAM, als man zum Zeitpunkt von Apollo 13 man weltweit hätte finanzieren können....

^- Ich weiss einfach nicht, inwiefern das alles relevant sein soll, deshalb schmunzle ich einfach mal amuesiert darueber :-)

>>aber Sache ist: die Effizienz heutiger Software entwickelt sich schneller nach unten, als die >>Leistung der Hardware nach oben!

Kann ich nicht bestaetigen - YMMV. Mein Laptop bootet heutzutage (trotz FDE) in einem Bruchteil der Zeit als mein erster Laptop in den 90ern, desgleichen starten alle Applikationen wesentlich schneller. Falls das bei dir nicht so ist, tust du mir wirklich leid.

>>ich hab den tollsten + buntesten PC meiner Klasse"-Allüren beiseit
Ich verstehe das noch immer nicht. Ich habe einen stinknormalen Lenovo T420s. Mehr Durchschnitt von der Stange geht ja schon wirklich nicht mehr.


Dann will ich noch kurz ein bisschen technisch werden:
Ich WILL, dass mein Browser jedes MB an RAM verwendet das es gibt. Das sinnloseste, dass es gibt, ist nicht genutzter RAM (im OS als "frei" angezeigt). Der hilft naemlich niemand. Der ist sinnlos. Falls er zuviel RAM nutzt, wird das OS das managen, und selten benutzten Speicher in den virtuellen verfrachten - zugusten von Programmen, die den RAM wirklich brauchen (oft zugreifen).

:-)

Antworten PM Übersicht Chronologisch Zum Vorgänger
 
Melden nicht möglich
........
Re(8): Warum funktioniert bei Browsern die garbage collection so schlecht?
19.09.2013, 22:03:27
Es ist ja immer drollig, wenn Leute Sachen schreiben wie


lieber drollig als realitätsfremd >:-D

Wieso das Alter auch nur irgendwie in einer technischen Diskussion relevant
sein soll, verstehe ich zwar nicht, aber ich verstehe ja viel nicht.

weil sich mit längerem Überblick die reine technische Begeisterung (ist schon OK + wichtig!) um eine sachlichere Beurteilung bereichert wird - man nennt das Erfahrung.

Also ich weiss ja nicht, welche HW du verwendest, aber mein Handy hat mehrere GB RAM,

hab extra nachgeschaut - maximal 3GB hab ich gefunden, ok, das ist nicht wenig, aber der Großteil der Handys hat irgendwo um die 512MB, und dort werden, weil das mit den "mobil optimierten Seiten" IMHO ein ziemlich zahnloser Bluff ist, Browser mit zu schwerer Kost belastet: ein Firefox am Handy ist natürlich schön, aber in der Praxis ist die Hardware damit + vielen realen Seiten überfordert, siehe Ausgangspunkt dieses Threads.

  und verwendet ausserdem einen auf die mobile Plattform speziell
zugeschnittenen Browser, der sich anders als jener auf dem Desktop verhaelt.

fein: da hätten wir zB den Android-Browser, mit dem man so lala leben kann, Dolphin, der ganz nette Sachen kann, die auf dem kleinen Display eigentlich nutzlos sind (auf Tablets, die meist auch nicht signifikant stärker als Handys sind - meinetwegen), sowie eben Chrome und FF. Soll ich jetzt bei jeder 2. Seite austesten, mit welchem Browser der break-even zwischen Funktionalität und fades-Aug-Faktor grade verläuft? ... Ja ... mit 28 hatte ich auch noch die Zeit, Lust und Nerven für sowas.
Fällt dir was auf? Handys leben von pfiffigen, angepaßten Apps, die sich auf ein paar Funktionen konzentrieren, nicht auf Runtimes (Browser) die alles können, aber ständig Bugreports und neuen Möchtegernstandards hinterher hecheln.

  Mein Laptop bootet heutzutage (trotz FDE) in einem Bruchteil der Zeit als
mein erster Laptop in den 90ern, desgleichen starten alle Applikationen
wesentlich schneller.

schön - und jetzt vergleich einmal, wie sehr sich der PC in diesen 15 Jahren verändert hat: Wenn man es genau betrachtet: minimal.
Und wie sehr die Leistung? Faktor bei RAM einige 100-1000 (16MB -> 16GB) , bei CPU, ausgehend von Moore's Law: 180Monate = 10*18 Monate (jeweils Verdoppelung) = 2^10 = ebenfalls Faktor 1000, dazu die ganzen Coprozessoren für Audio, Graphik, 3D und Video, die damals teils noch die CPU schultern mußte.
Ist dein Boot auch nur um den Faktor 100 schneller geworden? Realistisch vielleicht um Faktor 10 (20sec gegenüber 3min). Wo ist der Rest der Beschleunigung hin? Bist du um Faktor 100 produktiver / schneller / effizienter als damals? Abgesehen davo,  siehe "Amdahls Law", ist das nur ein Teilaspekt, und der Boot von Windows happert schlicht an der Unfähigkeit des Filesystems, sich selbst und die Ladereihenfolge und Parallelisierung von Diensten zu optimieren, was jetzt halt mit SSDs erschlagen wird. Daß die Zugriffszeit von mechanischen HDDs DER Klumpfuß jeder Architektur ist, war immer ein offenes Geheimnis, die ständig ansteigende Fragmentierung von NTFS nur mehr das Salz in der Wunde.

Ja, number crunching (rendering, 3D, Video Kompression, Verschlüsselung, ...), alles, was man in Hardware abbilden oder gut parallelisieren kann, funktioniert schneller, aber nicht der Desktop/die GUI, dort fressen eyecandy, bloatware, Anti-Malware, Firewalls, Überwachungsfunktionen, unzählige Software-Layer, Scriptsprachen, P-code, just-in-time-Compiler, Debugging-Überreste usw. die reine CPU-Leistung weitgehend wieder auf. Was für ein Fortschritt. Sicher. Beachtlich, aber längst nicht die reale Steigerung, die man sich hätte erwarten dürfen.

Ich erinnere an BeOS, das genau damals aufgezeigt hat, was mit Dual-CPU-Systemen (PII-300 oder PPC601) machbar war, wenn man von Anfang an eine saubere API auf die Beine stellt und optimiert, und keinen Rucksack Rückwärtskompatibilität mitschleppt, der einem die Marktmacht sichert, während man alle 2-3 Jahre einen Paradigmenwechsel in den Core-Libraries (C++, MFC, WFC, .NET, .NET 2.0, ...) feiert, den man dann ebenfalls mitschleppen muß, um Großkunden, die darauf zwangsweise (=mangels Portierungsalternativen) gesetzt haben, nicht zu verärgern ...  >:-(  

Dann will ich noch kurz ein bisschen technisch werden:
Ich WILL, dass mein Browser jedes MB an RAM verwendet das es gibt.

verwenden oder verSCHwenden?

  Falls er zuviel RAM nutzt, wird das OS das managen, und selten benutzten
Speicher in den virtuellen verfrachten - zugusten von Programmen, die den RAM
wirklich brauchen (oft zugreifen).

jo. man sieht ja, wie gut die Scheduler und das Speichermanagement funktionieren.


Sicher: die Zeiten von Amiga & Co sind vorbei, aber schau dir einmal an, was man damals aus den Kisten rausgeholt hat! Natürlich ist es schön, daß Programmierung inzwischen um Größenordnungen einfacher geworden ist, aber wir sind WEIT entfernt von einem guten Mittelmaß zw. Aufwand und Nutzen.

Antworten PM Übersicht Chronologisch Zum Vorgänger
 
Melden nicht möglich
.
Re: Warum funktioniert bei Browsern die garbage collection so schlecht? ...
^L^
29.08.2013, 23:05:59
GEDANKE: das ist mglw. so gewollt, um die eingebauten Datenübermittlungs-,
Tracking- und Abhörfunktionen usw. gut ausnutzen zu können ?!

GRUND: FF wird wohl nicht ohne Gegenleistung  von Suchmaschinenherstellern,
Bigsize-Onlinehändlern, Industrie & "Stas(t)is" seit Jahren finanziell unterstützt ... ?-)
How Does Mozilla Firefox Make Money
http://www.buzzle.com/articles/how-does-mozilla-firefox-make-money.html

Revenue Source of Mozilla Firefox
The answer to this question doesn't need a big explanation. It can be answered in just one word ~ Google ...

Amazon search also helps them to get some affiliate payments. Firefox stores, is also one of the ways by which Firefox generates some income. It sells Mozilla Firefox branded accessories and t-shirts, and makes some money out of it. Some of the other revenue generators of Firefox are Yahoo, Yandex, eBay and Creative Commons. Partnership with companies generates millions of money every year for Mozilla Firefox. It was estimated that the revenue income of Firefox is approximately $72 million. When asked about this estimation to Chris Blizzard, who is one of the board members of Mozilla Corporation, he said "though not off by an order of magnitude."

Google and Mozilla Firefox Relationship Going to Breakup?
Almost 90% of the total income of Mozilla Foundation comes from Google.
Even Google promoted Firefox in YouTube, before it released it own product Google Chrome.
___________________________________________________________________________________

Read more at Buzzle:
http://www.buzzle.com/articles/how-does-mozilla-firefox-make-money.html

FAZIT: Chrome & Firefox ist mglw. als Browser getarnte Spyware ... :-/

FANTASIE: Temporäre Malware-Apps im RAM sind weniger leicht zu finden - und kommerzielle & sonstige
Trojaner- & Spyware-Entwickler, freuen sich bestimmt über fette Speicher-PCs.  >:-) $-)

BTW:  http://derstandard.at/1376535222446/US-Geheimdiensthacker-infizierten-Zehntausende-Computer
http://forum.geizhals.at/t830416.html

http://www.denkforum.at/forum/search.php?do=getdaily  
http://happy-groove-hylozoik.blogspot.co.at  

31.08.2013, 21:10 Uhr - Editiert von ^L^, alte Version: hier
Antworten PM Übersicht Chronologisch Zum Vorgänger
 
Melden nicht möglich
 

Dieses Forum ist eine frei zugängliche Diskussionsplattform.
Der Betreiber übernimmt keine Verantwortung für den Inhalt der Beiträge und behält sich das Recht vor, Beiträge mit rechtswidrigem oder anstößigem Inhalt zu löschen.
Datenschutzerklärung