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 Scherfgen

Administrator

  • »David Scherfgen« ist der Autor dieses Themas

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

41

03.01.2008, 13:44

Zitat von »"Faule Socke"«

du hast gut reden david, du hattest ja schon die lösung und musstest dir nur noch was schlechteres einfallen lassen...

Nein, denn ich hatte zuerst garnicht vor, mitzumachen!
Dann wurde ich gefragt und habe selbst eine Lösung implementiert.

Zitat von »"Faule Socke"«

Darf ich eig. Schummeln?

Nein.

Toa

Alter Hase

Beiträge: 944

Beruf: Research associate

  • Private Nachricht senden

42

03.01.2008, 14:14

Zitat von »"TrommlBomml"«



naja, wenn man es nach deinem weg macht vllt^^. ich habs nicht mit shiftoperatioonen gemacht, sondern mit einem ternären operator (das geht aba auch glaubsch nur bei meiner implementierung).


Den EInfall hast du von mir xD .. weil ich mich gefragt hab was das sein soll^^

@ David, was hälst du von einer Contest Statistic .. das man Punkte bekommt für gewonnene Contests ^.^

grek40

Alter Hase

Beiträge: 1 491

Wohnort: Dresden

  • Private Nachricht senden

43

03.01.2008, 20:03

@ alle die hier Zahlen posten:

auf welche Konfiguration bezieht ihr euch?
Bei mir is es momentan so, dass aus der ca. 200 fachen Geschwindigkeit bei Debug, 100000 Zahlen auf einmal eine ca. 4.5 fache Geschwindigkeit bei Release, 1000000 Zahlen wird. (wobei die Änderung von 100000 zu 1000000 sich relativ gesehen etwas stärker auswirkt als die Debug-Release Wirkung)

CodingCat

1x Contest-Sieger

Beiträge: 420

Beruf: Student (KIT)

  • Private Nachricht senden

44

03.01.2008, 20:49

Hm, aso ich hab jetzt im Release eine 160x Beschleunigung bei 1 Mio Zahlen. Diese schwankt auf anderen Rechnern so bis zu 140x herunter. Nur auf einem Rechner liegt die Beschleunigung aus unerfindlichen Gründen nur bei 4x (im Vgl. zu 160x!!!) - woran das liegt kann ich momentan nur mutmaßen. :shock:

45

03.01.2008, 21:01

Ich bin im mom bei 74x, ist aber noch Platz für Optimierungen.

[Edit] Release mode natürlich, Debug Modus vergleichen bringt ja nix.

Fred

Supermoderator

Beiträge: 2 121

Beruf: Softwareentwickler

  • Private Nachricht senden

46

03.01.2008, 22:16

Zitat von »"CodingCat"«

Hm, aso ich hab jetzt im Release eine 160x Beschleunigung bei 1 Mio Zahlen. Diese schwankt auf anderen Rechnern so bis zu 140x herunter. Nur auf einem Rechner liegt die Beschleunigung aus unerfindlichen Gründen nur bei 4x (im Vgl. zu 160x!!!) - woran das liegt kann ich momentan nur mutmaßen. :shock:


Wenn das so ist bin ich mir sicher, dass mein Code genial ist. Es muss am PC liegen :D

Phili

unregistriert

47

03.01.2008, 23:12

Ich bin bei Release mit VC++ bei ca 19x (im Debug fast 90x).

CodingCat

1x Contest-Sieger

Beiträge: 420

Beruf: Student (KIT)

  • Private Nachricht senden

48

04.01.2008, 10:52

So, grade nochmal mit besagtem Problemrechner experimentiert. Sollten andere ähnliche Probleme haben, dass sie einfach nicht über eine bestimmte Beschleunigung hinauskommen, folgendes hat das Problem "gelöst": Rufe ich jeweils die Funktion (Referenz / eigene) noch einmal auf, bevor die entsprechende Zeit gemessen wird, habe ich meine Beschleunigung wieder. Muss wohl mit Caching o.ä. zusammenhängen. Interessanterweise macht dies auf den anderen Rechnern absolut keinen Unterschied.

Auf dem "Problemrechner" habe ich dagegen jetzt eine Beschleunigung von um die 300x - liegt wohl dran, dass dieser langsamer allokiert - und die Referenzfunktion so viel allokiert. Ein weiterer Zusammenhang, der mir noch aufgefallen ist: Linkt man die C runtime libraries statisch dazu, wird der Code schneller. Allerdings der Referenzcode aufgrund der vielen Allokationen in höherem Maße als der eigene Code (der bei mir nichts allokiert) - also ist für diesen Wettbewerb wohl die CRT als DLL von Vorteil - wird ja bei MSVC 2005 Standardeinstellungen auch zwangsläufig in der Auswertung so sein.

49

04.01.2008, 14:43

Was für ne hardware hat denn dieser "problemrechner" ?

CodingCat

1x Contest-Sieger

Beiträge: 420

Beruf: Student (KIT)

  • Private Nachricht senden

50

04.01.2008, 14:52

relativ normal:

Athlon 64 3000+
2 GHz, 512 MB Ram
(32 Bit OS - XP Pro)

Kann allerdings sein, dass er leicht übertaktet läuft, weiß ich gerade nicht.

Werbeanzeige