Abo
  1. Foren
  2. Kommentare
  3. Handy
  4. Alle Kommentare zum Artikel
  5. › iPhone und iPad: Das Ende der 1-GByte…

Garbage Collector vs. Reference Counting

  1. Thema

Neues Thema Ansicht wechseln


  1. Garbage Collector vs. Reference Counting

    Autor: Theoretiker 03.04.17 - 09:32

    Ein guter Unterschied der beiden Systeme (iOS und Android) dürfte die Verwaltung des Speichers sein. Unter Android hat man den Garbage Collector, der sehr viel RAM braucht, um unbemerkt arbeiten zu können. Hat man nur noch weniger als sechsmal so viel Speicher, wie das System wirklich braucht, hat das der Garbage Collector merkliche Einflüsse auf die Leistung des Geräts.

    Von daher kann man pro GB effektiv keine 200 MB nutzen, sonst wird es alles recht langsam. Mit einem deterministischen System wie Reference Counting (CPython, Swift) wacht nicht irgendwann der Garbage Collector auf und lastet die CPU beim Aufräumen auf. Daher sollte man bei Systemen, die mit Garbage Collector laufen (Java) deutlich mehr RAM einplanen.

    Von daher ist es nicht verwunderlich, dass Android-Geräte mehr RAM haben: Die Ineffizienz des Garbage Collectors wird einfach durch mehr RAM ausgeglichen. Alternative wäre, dass man mit einer Sprache programmieren müsste, die mit weniger RAM präziser auskommt (C++). Das hat auf dem Jolla Phone gut funktioniert, ist jedoch schwerer zu bedienen und der App Store ist dann nicht voll mit Apps.

  2. Re: Garbage Collector vs. Reference Counting

    Autor: picaschaf 03.04.17 - 09:48

    Eben, dazu müssten die Entwickler ja was drauf haben. Aber heutzutage ist ja jeder drittklassige Baukastenklicker "App Entwickler".

  3. Re: Garbage Collector vs. Reference Counting

    Autor: schap23 03.04.17 - 09:51

    Klingt alles sehr schlau, ist aber mehr oder weniger Garbage. Moderne Garbage Collectors arbeiten ziemlich effizient. Dafür hat man dann auch nicht das Problem vor zyklischen Referenzen, die durch Reference Counting nicht aufgelöst werden können, sondern vom Programmierer durch Weak References etc. aufgelöst werden müssen.

    Der Unterschied zwischen iOS und Android ist, daß Android im wesentlichen ein vollständiges, auf Linux basierendes Betriebssystem ist. Hintergrundprozesse sind dort was normales. iOS ist ein auf beschränkte Ressourcen eingeschränktes Betriebssystem. Hintergrundprozesse sind dort die Ausnahme. Im wesentlichen werden alle Apps, die nicht angezeigt werden, in einen Ruhezustand versetzt. Deshalb sagt Apple auch, daß es keine Rolle spielt, ob man geöffnete Apps manuell schließt oder nicht.

  4. Re: Garbage Collector vs. Reference Counting

    Autor: Slurpee 03.04.17 - 10:37

    Theoretiker schrieb:
    --------------------------------------------------------------------------------
    > Alternative wäre, dass man mit einer Sprache programmieren
    > müsste, die mit weniger RAM präziser auskommt (C++).

    Klar und Webapplikationen schreiben wir in Zukunft wieder in C. Das löst dann sicher auch die Problematik beim Browsercaching.

    Es gibt gute Gründe, warum man heutezutage nicht mehr für jeden Mist den Speicher selbst managed.

    Alternative: Apple soll einfach aufhören, mit dem RAM zu geizen.

    picaschaf schrieb:
    --------------------------------------------------------------------------------
    > Eben, dazu müssten die Entwickler ja was drauf haben. Aber heutzutage ist
    > ja jeder drittklassige Baukastenklicker "App Entwickler".

    Das hat nichts mit "drauf haben", sondern mit Aufwand zu tun. Ihr alle erwartet topmoderne, hochperformante und stabile Apps mit 1000 features und das am besten für Lau...



    1 mal bearbeitet, zuletzt am 03.04.17 10:41 durch Slurpee.

  5. Re: Garbage Collector vs. Reference Counting

    Autor: laserbeamer 03.04.17 - 10:50

    Slurpee schrieb:
    --------------------------------------------------------------------------------
    > Klar und Webapplikationen schreiben wir in Zukunft wieder in C.

    Alles was mehr als HTML und CSS ist? Ja.
    Für einfache Seiten die nur HTML nutzten reicht ja ein Webserver (nginx etc), aber für mehr ist halt ein in c/c++ geschriebener Server deutlich performanter als irgendein (drecks) PHP Skript oder was es da noch alles gibt.
    Gibt ja auch gute Netzwerkbibliotheken und gerade wenn man modernes c++ schreibt muss man sich um den Speicher nicht mehr selber kümmern.
    Daher RAII.
    Wenn du irgendwo noch ein new außerhalb einer smartpointer Klasse hast, solltest du noch Mal nachgucken (in Klassen eigene Pointer haben geht, man sollte nur sorgfältig sein).

  6. Re: Garbage Collector vs. Reference Counting

    Autor: Gandalf2210 03.04.17 - 10:50

    Vom den 8 Kernen kann dich ruhig einer fürs Müll aufräumen zuständig sein.

  7. Re: Garbage Collector vs. Reference Counting

    Autor: jak 03.04.17 - 11:00

    Theoretiker schrieb:
    --------------------------------------------------------------------------------
    > Ein guter Unterschied der beiden Systeme (iOS und Android) dürfte die
    > Verwaltung des Speichers sein. Unter Android hat man den Garbage Collector,
    > der sehr viel RAM braucht, um unbemerkt arbeiten zu können. Hat man nur
    > noch weniger als sechsmal so viel Speicher, wie das System wirklich
    > braucht, hat das der Garbage Collector merkliche Einflüsse auf die Leistung
    > des Geräts.

    Ist eher 2 Mal so viel Speicher. Die Hälfte ist frei, die andere Hälfte belegt. Das so in Mittel bei der Analyse meiner App.

  8. Re: Garbage Collector vs. Reference Counting

    Autor: Slurpee 03.04.17 - 11:02

    laserbeamer schrieb:
    --------------------------------------------------------------------------------
    > Alles was mehr als HTML und CSS ist? Ja.
    > Für einfache Seiten die nur HTML nutzten reicht ja ein Webserver (nginx
    > etc), aber für mehr ist halt ein in c/c++ geschriebener Server deutlich
    > performanter als irgendein (drecks) PHP Skript oder was es da noch alles
    > gibt.

    Ach komm, das kannst du doch nicht ernst meinen. So ziemlich jede moderne Webapp hat ein Java-Backend und ein Javascript-Frontend. Kein Mensch entwickelt sowas noch in C/C++.

    Jetzt brauchst du mir dann bloß noch erzählen, das Amazon, Netflix und co. langsam sind...

  9. Re: Garbage Collector vs. Reference Counting

    Autor: wasdeeh 03.04.17 - 11:37

    Um Gottes Willen. Das ist so unglaublicher Blödsinn, was moderne GC im Allgemeinen und Memory Management bei Android im Speziellen betrifft...Bitte mal bezüglich des Themas auf halbwegs aktuellen Wissensstand kommen.

  10. Re: Garbage Collector vs. Reference Counting

    Autor: backdoor.trojan 03.04.17 - 11:41

    Slurpee schrieb:
    --------------------------------------------------------------------------------
    > laserbeamer schrieb:
    > ---------------------------------------------------------------------------
    > -----
    > > Alles was mehr als HTML und CSS ist? Ja.
    > > Für einfache Seiten die nur HTML nutzten reicht ja ein Webserver (nginx
    > > etc), aber für mehr ist halt ein in c/c++ geschriebener Server deutlich
    > > performanter als irgendein (drecks) PHP Skript oder was es da noch alles
    > > gibt.
    >
    > Ach komm, das kannst du doch nicht ernst meinen. So ziemlich jede moderne
    > Webapp hat ein Java-Backend und ein Javascript-Frontend. Kein Mensch
    > entwickelt sowas noch in C/C++.
    >
    > Jetzt brauchst du mir dann bloß noch erzählen, das Amazon, Netflix und co.
    > langsam sind...


    Oder nodejs, Python, Perl, Ruby gibts auch oft genug. Gerade im Backend.

  11. Re: Garbage Collector vs. Reference Counting

    Autor: Theoretiker 04.04.17 - 09:21

    wasdeeh schrieb:
    --------------------------------------------------------------------------------
    > Bitte mal bezüglich des Themas auf halbwegs aktuellen
    > Wissensstand kommen.

    Gut, dann ist der Artikel, den ich im Kopf habe, schon extrem veraltet. Ich weiß nicht mehr, von wann der ist.

    Ein Bekannter von mir hat ein Spiel in TypeScript geschrieben, das innerhalb des eigentlichen Spiels kein einziges `new` mehr Aufrufen durfte. Ansonsten wurde der GC eventuell angeworfen und es ging von flüssig in eine Diashow über. Daher hat er alle Objekte vorher erzeugt. Das ist nur ein paar Jahre her.

    Mich betrifft das alles nicht so richtig, mein Gebiet ist C++ auf Supercomputern. Meine letzten eigenen Erfahrungen mit Java sind von 2011.

  12. Re: Garbage Collector vs. Reference Counting

    Autor: droptable 04.04.17 - 12:28

    Ja, das ist eine sehr gute Idee! C/C++ als direktes Web-Backend ... warum macht das denn keiner? ...

    Es ist viel zu unsicher und instabil ein C/C++ Programm zu nutzen um Benutzereingaben usw. zu verarbeiten. 1 Pufferüberlauf und deine Web-Applikation ist dahin, vielleicht sogar kompromittiert und unbrauchbar (und dein Server unter fremder Kontrolle).

    In solchen doch recht Sicherheitsrelevanten Bereichen ist man immer gut daran eine gemanagte Sprache wie Java, PHP, Python, JS oder Ruby zu nutzen bevor man seine Daten an ein Low-Level Backend übergibt.

    Alternativen wären in diesem Fall Sprachen wie Rust, bei denen Speicherzugriffsfehler so ziemlich ausgeschlossen sind, aber trotzdem ungemanagt arbeiten.

    Kurz: Es spricht absolut nichts dagegen C/C++ um Web zu nutzen, aber eben nicht an vorderster Front, sondern im Hintergrund mit einem Vermittler wie PHP/Python usw..

  1. Thema

Neues Thema Ansicht wechseln


Um zu kommentieren, loggen Sie sich bitte ein oder registrieren Sie sich. Zum Login

Stellenmarkt
  1. DATAGROUP Köln GmbH, Köln
  2. DATAGROUP Köln GmbH, Frankfurt
  3. VALEO GmbH, Erlangen
  4. Hays AG, Raum Stuttgart

Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Top-Angebote
  1. (u. a. For Honor für 11,50€, Anno 1404 Königsedition für 3,74€, Anno 2070 Königsedition...
  2. (u. a. Total war - Three Kingdoms für 35,99€, Command & Conquer - The Ultimate Collection für 4...


Haben wir etwas übersehen?

E-Mail an news@golem.de


Kickstarter: Scheitern in aller Öffentlichkeit
Kickstarter
Scheitern in aller Öffentlichkeit

Kickstarter ermöglicht es kleinen Indie-Teams, die Entwicklung ihres Spiels zu finanzieren. Doch Geld allein ist nicht genug, um alle Probleme der Spieleentwicklung zu lösen. Und was, wenn das Geld ausgeht?
Ein Bericht von Daniel Ziegener

  1. Killerwhale Games Verdacht auf Betrug beim Kickstarter-Erfolgsspiel Raw
  2. The Farm 51 Chernobylite braucht Geld für akkurates Atomkraftwerk
  3. E-Pad Neues Android-Tablet mit E-Paper-Display und Stift

LEDs: Schlimmes Flimmern
LEDs
Schlimmes Flimmern

LED-Licht zu Hause oder im Auto leuchtet nur selten völlig konstant. Je nach Frequenz und Intensität kann das Flimmern der Leuchtmittel problematisch sein, für manche Menschen sogar gesundheitsschädlich.
Von Wolfgang Messer

  1. Wissenschaft Schadet LED-Licht unseren Augen?
  2. Straßenbeleuchtung Detroit kämpft mit LED-Ausfällen und der Hersteller schweigt
  3. ULED Ubiquitis Netzwerkleuchten bieten Wechselstromversorgung

Google Maps in Berlin: Wenn aus Aussetzfahrten eine neue U-Bahn-Linie wird
Google Maps in Berlin
Wenn aus Aussetzfahrten eine neue U-Bahn-Linie wird

Kartendienste sind für Touristen wie auch Ortskundige längst eine willkommene Hilfe. Doch manchmal gibt es größere Fehler. In Berlin werden beispielsweise einige Kleinprofil-Linien falsch gerendert. Dabei werden betriebliche Besonderheiten dargestellt.
Von Andreas Sebayang

  1. Kartendienst Qwant startet Tracking-freie Alternative zu Google Maps
  2. Nahverkehr Google verbessert Öffi-Navigation in Maps
  3. Google Maps-Nutzer können öffentliche Veranstaltungen erstellen

  1. PC Engine Core Grafx: Konami kündigt drei Versionen der gleichen Minikonsole an
    PC Engine Core Grafx
    Konami kündigt drei Versionen der gleichen Minikonsole an

    In Europa heißt sie PC Engine Core Grafx Mini, für Japan und die USA hat Konami andere Namen und ein anderes Design. Die Retrokiste soll im März 2020 mit rund 50 vorinstallierten Spielen erscheinen. Der Kauf in Deutschland läuft minimal komplizierter ab als üblich.

  2. Hacker-Attacke: Datenleck bei Freenet-Tochter Vitrado
    Hacker-Attacke
    Datenleck bei Freenet-Tochter Vitrado

    Angreifer haben auf die Daten von rund 67.000 Vitrado-Nutzern zugreifen können. Diese sollten besser ihr Bankkonto im Auge behalten, rät die Freenet-Tochter.

  3. Android: Apps kommen auch ohne Berechtigung an Trackingdaten
    Android
    Apps kommen auch ohne Berechtigung an Trackingdaten

    Das Android-Berechtigungsmodell lässt sich mit Tricks umgehen. Eine Studie fand 1.325 Apps, die auch ohne eine Berechtigung an die entsprechenden Daten gelangen.


  1. 17:23

  2. 16:37

  3. 15:10

  4. 14:45

  5. 14:25

  6. 14:04

  7. 13:09

  8. 12:02