AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Garbage Collection

Ein Thema von Tubos · begonnen am 24. Jul 2004 · letzter Beitrag vom 24. Jul 2004
Antwort Antwort
Tubos

Registriert seit: 25. Feb 2004
Ort: Yspertal (Niederösterreich)
1.014 Beiträge
 
Delphi 7 Personal
 
#1

Garbage Collection

  Alt 24. Jul 2004, 14:25
Hallo;

da ich auf diesem Gebiet noch überhaupt nichts gemacht habe, habe ich mir gerade ein .net-FAQ durchgelesen und da stellt sich mir eine Frage:
Ist Garbage Collection nicht langsam und unsauber?
In Basic wird es ja so ähnlich gemacht...und es ist grauenvoll
Lukas
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Garbage Collection

  Alt 24. Jul 2004, 14:34
Jein.

Und (unkompiliertes) Basic hat auch noch andere Performance-Bremsen.
Auch kannst Du die ersten Implementierungen von Java in diesem Bereich auch nicht mit den aktuellen Versionen in .NET und Java vergleichen. Die Fehler von damals sind heute nicht mehr vorhanden bzw. stellen nur in besonderen Situationen ein Problem dar. Dazu wurden schon sehr viel Mannjahr Entwicklung hineingesteckt, das im "Normfall" GC kein Problem darstellt.

Und wieso sollte GC unsauber sein bzw. was stellst Du dir darunter vor?
  Mit Zitat antworten Zitat
Tubos

Registriert seit: 25. Feb 2004
Ort: Yspertal (Niederösterreich)
1.014 Beiträge
 
Delphi 7 Personal
 
#3

Re: Garbage Collection

  Alt 24. Jul 2004, 14:52
http://www.andymcm.com/dotnetfaq.htm#5.

ich stelle mir darunter einen hintergrundtask vor, der ständig den speicher aufräumt...
ist das falsch so?
Lukas
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Garbage Collection

  Alt 24. Jul 2004, 14:57
Eigentlich nicht. Der GC läuft AFAIK als eigener Thread mit.

Und ja nach größe des freizugebenden Speichers gibt es 3 Prioritäten. Alle paar µs werden kleine Speicherbereiche aufgeräumt, alle paar ms mittlere und die großen werden alle paar Sekunden betrachtet und evtl. freigegeben. Falls du ein Mehrprozessorsystem hast, kann dieser GC auf dem 2ten Prozessor laufen und damit einige Probleme bei ausgelasteten Systemen aus dem Weg gehen.
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#5

Re: Garbage Collection

  Alt 24. Jul 2004, 15:06
IMHO ist der GC von .net so entwickelt, dass er bei beschäftigten Prozessor nur dann in Aktion tritt, wenn die Freigabe erforderlich ist, also, wenn der Speicher bald voll ist. Ansonsten wartet er einfach ab, bis man ihn arbeiten läßt!
  Mit Zitat antworten Zitat
OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#6

Re: Garbage Collection

  Alt 24. Jul 2004, 15:24
Zitat:
Ist Garbage Collection nicht langsam und unsauber?
Nur weil es sich um Müll handelt, heißt das nicht, dass das eine schmutzige (unsaubere) Angelegenheit ist ;c)

Im Gegenteil, der Garbage Collector sorgt ja gerade dafür, dass alles wieder glänzend wird, indem er auch die Speicherleichen einsammelt, die du in einem herkömmlichen Programm vielleicht übersehen hättest...

Der .net-GC gehört zu den moderneren, er verwendet kein einfaches mark-and-sweep, sondern ein Generations-basiertes Modell. Mehr dazu unter D Programming Language (unter Garbage Collection) und im MSDN.

Arbeite einfach mal mit einer Garbage-Collector-Sprache, also zum Beispiel mit .net. Du wirst sehen, dass es sich angenehmer programmiert und in den meisten Fällen von mangelnder Performance nichts zu sehen ist. Im Gegenteil, teilweise geht's sogar schneller, weil der Garbage Collector zum Beispiel Speicher wiederverwenden kann und generell mehr weiß als der Programmierer ;c)
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat
Tubos

Registriert seit: 25. Feb 2004
Ort: Yspertal (Niederösterreich)
1.014 Beiträge
 
Delphi 7 Personal
 
#7

Re: Garbage Collection

  Alt 24. Jul 2004, 15:32
Danke!
Lukas
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz