AGB  ·  Datenschutz  ·  Impressum  







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

C Code in Delphi Code wandeln

Ein Thema von ken_jones · begonnen am 7. Jul 2009 · letzter Beitrag vom 9. Jul 2009
Antwort Antwort
Seite 2 von 2     12   
Cyf

Registriert seit: 30. Mai 2008
407 Beiträge
 
Lazarus
 
#11

Re: C Code in Delphi Code wandeln

  Alt 8. Jul 2009, 23:53
Das kann wohl schneller sein und auch für einen garbage collector genutzt werden, soll hier das selbe Objekt durch ein neues ersetzt werden, so kann einfach der alte Speicherbereich (der ja immer an der selben Stelle auf dem Heap ist) mit dem neuen Objekt überschrieben werden und zudem kann vom Verwaltungsobjekt sichergestellt werden, dass der Speicher beim Beenden (oder wann auch immer) wirklich freigegeben wird. Zudem können wie schon angemerkt im Vorraus größere Speicherblöcke als nötig angefordert und dann selbst verwaltet werden. Hierbei kommt es halt darauf an, wie der SpeedAllocator implementiert ist.

Nebenbei bemerkt ist das ja eigentlich C++...
Man kann einen Barbier definieren als einen, der alle diejenigen rasiert, und nur diejenigen, die sich nicht selbst rasieren.
Rasiert sich der Barbier?
  Mit Zitat antworten Zitat
ken_jones

Registriert seit: 16. Mai 2005
Ort: Luzern
154 Beiträge
 
Delphi 10 Seattle Enterprise
 
#12

Re: C Code in Delphi Code wandeln

  Alt 9. Jul 2009, 08:57
So, ich hab den SpeedAllocator detailliert unter die Lupe genommen und folgendes herausgefunden:

Der Code des SpeedAllocators entspricht ziemlich genau diesem Code hier: Small Block Allocator

Einerseits behauptet der Author mit dem Small Block Allocator bis zu 25x schneller zu sein, andererseits (auch wenn die Aussage ziemlich Euphorisch ist) muss ich das fast glauben. Gut, vielleicht nicht 25x, aber auf alle Fälle schneller. Denn wenn wirklich viele Objekte, und ich mein viele,erstellt werden, dann reicht ein einziger Malloc für vielleicht 1000 Objekte aus. Und mit geschicktem Handling kann ich den Speicherplatz wiederverwenden, ohne Free/Malloc.

Kurzum, ich werde den SpeedAllocator in Delphi umsetzen, ich glaub da gibt es genug Sinn dahinter.

Zitat von Cyf:
Nebenbei bemerkt ist das ja eigentlich C++..
You're right!

Wenn ich heute dazukomme, werde ich mal mit InitInstance etwas herumspielen, ich glaub da bin ich auf dem richtigen Weg um das in Delphi umzusetzen.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 15:02 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