Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

11

30.07.2008, 19:28

Zitat von »"Ba'el"«


(kannst du mal den Code deiner "Test-Main" posten will ma' meine Testen^^)


Ogott! :) Den Code hab ich gleich nach dem Test wieder aus dem Projekt geschmissen, sorry! :(

Aber du kannst dir ja, vermutlich, recht schnell selbst was schreiben! ;)
@D13_Dreinig

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

12

30.07.2008, 20:11

Sieht eigentlich recht gut aus.

Aber in der Formatierung muss ich meinen Vorpostern Recht geben.

Zitat

while(this->m_first!=NULL)

Ein paar Abstände mehr würden nicht schaden. :)

Und ich weiss ja nicht, wie du das siehts, aber ich finde diese Überprüfung auf NULL recht umständlich. (Aber rein mein Geschmack).


Zitat von »"david_pb"«

Hab mal einen schnellen Vergleich meiner Implementation mit std::list<> gemacht.

Kannst du denn den Code auch mal posten?
Und noch etwas: Implementation gibts nicht in Deutsch. Wenn schon Implementierung. (Ist mir im Eifer des Gefechs auch schon mal unter die Finger gekommen. :) )

Ba'el

Alter Hase

  • »Ba'el« ist der Autor dieses Themas

Beiträge: 409

Wohnort: Erfurt

Beruf: Student (6 FS angew. Info. - Richtung Medieninformatik)

  • Private Nachricht senden

13

30.07.2008, 20:14

Zitat von »"David_pb"«


Aber du kannst dir ja, vermutlich, recht schnell selbst was schreiben! ;)


ja ... wenn ich nich' so faul wäre :D

@Deviloper
wenn du mir jetzt noch sagst was genau du mit explizit meinst ... wenn du das meinst was ich darunter verstehe dann ist er doch explizit

edit:

@David_pb
die std::list<> ist ja wirklich lahm, ich habe push-/popFront(), push-/popBack() getestet da ist meine Implementierung 10x so schnell :oops:
aber wie kann man bei der std::list<> den Iterator abstellen?

ich muss sagen die Java-LinkedList ist um einiges schneller, ich bin von der ausgegangen ...
aktuelle Projekte:
Ruby on Rails
XNA &amp; Touchless
Progr. mobiler Endgeräte (GPS Trekking)

grek40

Alter Hase

Beiträge: 1 491

Wohnort: Dresden

  • Private Nachricht senden

14

30.07.2008, 22:14

Zitat von »"Ba'el"«


@Deviloper
wenn du mir jetzt noch sagst was genau du mit explizit meinst ... wenn du das meinst was ich darunter verstehe dann ist er doch explizit

Versuchs nochmal so wie Deviloper es geschrieben hat (c statt z) in einer Auflistung von C++ Schlüsselworten, bei google oder sonstwo zu finden :roll:

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

15

30.07.2008, 22:27

Zitat von »"Ba'el"«


@David_pb
die std::list<> ist ja wirklich lahm, ich habe push-/popFront(), push-/popBack() getestet da ist meine Implementierung 10x so schnell :oops:
aber wie kann man bei der std::list<> den Iterator abstellen?


C-/C++-Quelltext

1
2
3
#define _SECURE_SCL 0 
#define _NOTHREADS
#define _STLP_NO_THREADS
@D13_Dreinig

Ba'el

Alter Hase

  • »Ba'el« ist der Autor dieses Themas

Beiträge: 409

Wohnort: Erfurt

Beruf: Student (6 FS angew. Info. - Richtung Medieninformatik)

  • Private Nachricht senden

16

30.07.2008, 23:02

Zitat von »"grek40"«


Versuchs nochmal so wie Deviloper es geschrieben hat (c statt z) in einer Auflistung von C++ Schlüsselworten, bei google oder sonstwo zu finden :roll:


arr, dieses verdammte dinglish und wenn es dann ma' ernst gemeint ist übersieht man's ^^ ... wenn ich den Sinn richtig verstanden hab, ist das hier doch eig. nich' nötig ...

@David_pb
*thx*
aktuelle Projekte:
Ruby on Rails
XNA &amp; Touchless
Progr. mobiler Endgeräte (GPS Trekking)

p0llux

Treue Seele

Beiträge: 101

Wohnort: Aachen

Beruf: HiWi (theo. Inf.)

  • Private Nachricht senden

17

22.08.2008, 12:58

Falls es noch Erklärungsbedarf gibt, haben wir hier etwas gemacht:

http://www.scienceandcode.org/?p=46

18

22.08.2008, 13:55

Ich antworte mal als Kommentar auf den Link ueber mir.

In der Tabelle mit dem Performancevergleich steht bei Arrays und Suchen O(n log n). Das ist falsch! Nur bei einer geordneten Menge stimmt das. Leider habe ich auch keine sinnvolle Anwendung fuer zirkulaere Listen gefunden. Einzig und allein das Bild ist schoen, erinnert an Benzol. Und der Geschwindigkeitsvergleich zwischen java.util.LinkedList, std::list und einer eigenen Implementation hinkt natuerlich, da viel vom Compiler, den einzelnen Flags und der Template Unterstuetzung abhaengt. Desweiteren ist z.B. std::list<> jahrelang getestet und persoenlich wuerde ich diese einer eigenen Implementation vorziehen.

Es gibt natuerlich kaum noch einen Grund, Listen selbst zu schreiben. Vielleicht wenn man sie als synchronisierte Container verwenden will, um dem Producer-Consumer Problem zu begegnen beim Einsatz von lock-free Algorithmen. Aber das ist auch nicht gerade leicht zu realisieren.

p0llux

Treue Seele

Beiträge: 101

Wohnort: Aachen

Beruf: HiWi (theo. Inf.)

  • Private Nachricht senden

19

22.08.2008, 16:12

Zitat von »"knivil"«

In der Tabelle mit dem Performancevergleich steht bei Arrays und Suchen O(n log n). Das ist falsch!


Da hast du dich verlesen. Da steht O(log n) und das ist korrekt, da man Objekte sortiert in die Liste einfügen kann, wenn man ohnehin schon O(n) Einfügekosten hat. Die Analyse ist also aus der Sicht "Pro-Array" geschrieben.

Zitat von »"knivil"«

std::list<> jahrelang getestet und persoenlich wuerde ich diese einer eigenen Implementation vorziehen.


Würde ich nicht. Die STL ist langsam. Die Syntax ist hässlich. Wenn's 'n dreckiger Quicky sein muß, dann kann man's natürlich nehmen, aber sonst... Naja, ist Geschmackssache ;)

Zitat von »"knivil"«

Es gibt natuerlich kaum noch einen Grund, Listen selbst zu schreiben.


Das ist definitiver als definitiv davon abhängig was man macht und als Pauschalaussage nicht wirklich zutreffend.

20

26.08.2008, 10:48

Ok, das O( n log n) war ein Tipfehler von mir. Leider steht in dem Artikel nichts in der Zusammenfassung von Sortieren. Und was ist, wenn die eingefuegten Objekte sich nichtmal vergleichen lassen (bzw. das keinen Sinn macht)?

Werbeanzeige