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. BWI GmbH, Berlin, Strausberg
  2. Spark Radiance GmbH, Inning am Ammersee
  3. Schwäbisch Hall Kreditservice GmbH, Schwäbisch Hall
  4. WITRON Gruppe, Parkstein (Raum Weiden / Oberpfalz)

Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Top-Angebote
  1. 149,99€ mit Vorbesteller-Preisgarantie
  2. 169,90€ + Versand (Vergleichspreis 214,27€ + Versand)
  3. auf Geräte von Acer, BenQ, Epson und Optoma


Haben wir etwas übersehen?

E-Mail an news@golem.de


SSD-Kompendium: AHCI, M.2, NVMe, PCIe, Sata, U.2 - ein Überblick
SSD-Kompendium
AHCI, M.2, NVMe, PCIe, Sata, U.2 - ein Überblick

Heutige SSDs gibt es in allerhand Formfaktoren mit diversen Anbindungen und Protokollen, selbst der verwendete Speicher ist längst nicht mehr zwingend NAND-Flash. Wir erläutern die Unterschiede und Gemeinsamkeiten der Solid State Drives.
Von Marc Sauter

  1. PM1733 Samsungs PCIe-Gen4-SSD macht die 8 GByte/s voll
  2. PS5018-E18 Phisons PCIe-Gen4-SSD-Controller liefert 7 GByte/s
  3. Ultrastar SN640 Western Digital bringt SSD mit 31 TByte im E1.L-Ruler-Format

Inside Bill's Brain rezensiert: Nicht nur in Bill Gates' Kopf herrscht Chaos
Inside Bill's Brain rezensiert
Nicht nur in Bill Gates' Kopf herrscht Chaos

Einer der erfolgreichsten Menschen der Welt ist eben auch nur ein Mensch: Die Netflix-Doku Inside Bill's Brain - Decoding Bill Gates zeichnet das teils emotionale Porträt eines introvertierten und schlauen Nerds, schweift aber leider zu oft in die gemeinnützige Arbeit des Microsoft-Gründers ab.
Eine Rezension von Oliver Nickel

  1. Microsoft Netflix bringt dreiteilige Dokumentation über Bill Gates

Telekom Smart Speaker im Test: Der smarte Lautsprecher, der mit zwei Zungen spricht
Telekom Smart Speaker im Test
Der smarte Lautsprecher, der mit zwei Zungen spricht

Die Deutsche Telekom bietet derzeit den einzigen smarten Lautsprecher an, mit dem sich parallel zwei digitale Assistenten nutzen lassen. Der Magenta-Assistent lässt einiges zu wünschen übrig, aber die Parallelnutzung von Alexa funktioniert schon fast zu gut.
Ein Test von Ingo Pakalski

  1. Smarte Lautsprecher Amazon liegt nicht nur in Deutschland vor Google
  2. Pure Discovr Schrumpfender Alexa-Lautsprecher mit Akku wird teurer
  3. Bose Portable Home Speaker Lautsprecher mit Akku, Airplay 2, Alexa und Google Assistant

  1. Funkstandards: Womit funkt das smarte Heim?
    Funkstandards
    Womit funkt das smarte Heim?

    Ob Wohnung oder Haus: Smart soll es bitte sein. Und wenn das nicht von Anfang an klappt, soll die Nachrüstung zum Smart Home so wenig aufwendig wie möglich sein. Dafür kommen vor allem Funklösungen infrage, wir stellen die gebräuchlichsten vor.

  2. Hongkong: Blizzard-Chef findet Meinungsäußerung nur halb so schlimm
    Hongkong
    Blizzard-Chef findet Meinungsäußerung nur halb so schlimm

    Ein halbes Jahr statt ein ganzes Jahr wird ein E-Sport-Profi gesperrt, der auf einem Turnier von Blizzard mit einem Ausruf für die Protestbewegung in Hongkong gekämpft hatte. Zwei dauerhaft entlassene Kommentatoren dürfen nach ebenfalls einem halben Jahr wieder arbeiten.

  3. China: Internetanschluss oder Telefonnummer nur gegen Gesichtsscan
    China
    Internetanschluss oder Telefonnummer nur gegen Gesichtsscan

    In China soll es ab Dezember Telefonnummern oder Internet-Anschlüsse nur noch mit Identitätsfeststellung per Gesichtserkennung geben. Eine entsprechende Regelung wurde kürzlich erlassen und soll auch für bereits registrierte Anschlüsse gelten.


  1. 09:00

  2. 08:21

  3. 15:37

  4. 15:15

  5. 12:56

  6. 15:15

  7. 13:51

  8. 12:41