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

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

21

01.12.2011, 21:43

Laufzeitvergleiche von Implementationen könnte man schon machen. Wenn mal jemand Langeweile hat.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

22

04.12.2011, 13:48

Genau genommen kann man kein "D vs C++" durchführen, sondern nur Compiler und Laufzeitbibliotheken miteinander vergleichen. C++ ist ja nur die Sprache, Compiler gibt es viele.

Jo, die haben ja letzte Woche für C++ einen Compiler geschrieben, der noch nicht einmal einen Code benötigt. Der rechnet nämlich die Zukunft aus, das geht ja, da dass Universum deterministisch ist, und schreibt dann ein statisches File, das dann genau das ausgibt, was der Benutzer erwartet (was er erwartet, wird ja zuvor errechnet). Der einzige Nachteil momentan ist, dass die Files viel zu groß sind. Ich habe da so um die 100 Peta-Bit gelesen.

Man, hälst du mich jetzt für doof, oder warum bist du jetzt so penetrant?!

Architekt

Community-Fossil

Beiträge: 2 481

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

23

04.12.2011, 13:50

Warum so aggressiv? ;)
Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

24

04.12.2011, 13:52

Na, weil er mich anscheinend für blöd hält ;)

Architekt

Community-Fossil

Beiträge: 2 481

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

25

04.12.2011, 14:09

Na, weil er mich anscheinend für blöd hält ;)

Und das wäre so schlimm?
Er hat dich evtl. missverstanden, dass du nicht auf ein konkretes "Was ist besser, C++ oder D" hinaus willst, sondern nur darauf, dass std::string mutable ist während D strings immutable sind und (wie Java) einen neuen String ausliefern statt den bestehenden zu ändern. Und das diese in irgendwelchen Algorithmen evtl. spürbare Performance Unterschiede hervorbringen. Wobei mich da auch noch genauere Beispiele interessieren wurden. Aber um mehr ging es dir ja (soweit ich das sehe) gar nicht, allerdings kam das evtl. nicht ganz so rüber.
Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

26

04.12.2011, 15:22

Mir ging es schlicht darum, dass die Aussage falsch war und so nicht pauschalisiert werden kann. Gerade in einem Forum mit Anfängern sollte man zumindest die korrekte Terminologie verwenden, sonst glaubt jemand wirklich irgendwann, dass D in Bezug auf Strings schneller ist als C++. Das stimmt so aber eben nicht. Gerade die verschiedenen Implementierungen und Anwendungsfälle machen den Unterschied. Wenn ich z.B. in einem 10.000.000-Zeichen-String die ersten vier Buchstaben austauschen muss, dann ist das unter Verwendung von immutable strings eindeutig langsamer.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

27

04.12.2011, 18:38

Mir ging es schlicht darum, dass die Aussage falsch war und so nicht pauschalisiert werden kann. Gerade in einem Forum mit Anfängern sollte man zumindest die korrekte Terminologie verwenden, sonst glaubt jemand wirklich irgendwann, dass D in Bezug auf Strings schneller ist als C++. Das stimmt so aber eben nicht.
Das wäre niemals meine Absicht gewesen. Aber anscheinend kommt das nicht ganz raus.
Gerade die verschiedenen Implementierungen und Anwendungsfälle machen den Unterschied. Wenn ich z.B. in einem 10.000.000-Zeichen-String die ersten vier Buchstaben austauschen muss, dann ist das unter Verwendung von immutable strings eindeutig langsamer.

Ja, da hast du auch vollkommen Recht. Das Problem dabei ist nur, dass Strings generell viel öfter abgefragt werden als dass sie manipuliert werden. Deshalb hat sich nun mal imo die Standard-Implementierung des Strings nach immutable Strings zu richten.

Naja, all diese Fakten werden dem TS reichlich wenig nützen, weshalb ich vorschlage die Diskussion entweder auf einen neuen Thread zu verlagern oder zu beenden.

Werbeanzeige