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

31

02.01.2008, 22:31

Ist die Verwendung von Inlineassemblern gestattet?
@D13_Dreinig

Fred

Supermoderator

Beiträge: 2 121

Beruf: Softwareentwickler

  • Private Nachricht senden

32

03.01.2008, 01:11

afaik ja, hauptsache es läuft ;)

TrommlBomml

Community-Fossil

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

33

03.01.2008, 09:52

also ich bin jetz bei 30x so schnell, aba so richtig weis ich nicht, was ich noch optimieren soll (ausser der tipp von david, is ja kla dass innerhalb der schleifen am meisten optimiert werden muss!).

einen tipp kann ich auch noch geben, für diejenigen, die gar nich weiterkommen: division ist eine SEHR teure rechenoperation, die sollte man ersetzen.

und mich würde auch interessieren, wie gut ich war im verhältnis zu den anderen, deswegen würde ich eine platzierung von allen teilnehmenden gut finden. und wegen lösung müssten meinetwegen nich alle veröffentlicht werden, der sieger reicht doch eigentlich, oder villeicht noch besonders interessante lösungen.

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

34

03.01.2008, 10:50

O_o....30x...

hmmm...ich bin erst bei 10x, aber irgendwie stimmen meine zahlen nicht mehr,wenn ich mehr als 100 reinlasse.. ich finde den fehler einfach nicht.. :(

Das mit der Platzierung habe ich mir Heute auch gedacht. Fände ich auch eine gute Idee, so als ansporn und um zu sehen, wie und ob man sich verbessert...

TrommlBomml

Community-Fossil

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

35

03.01.2008, 11:06

überprüfe mal deine überträge^^

David Scherfgen

Administrator

  • »David Scherfgen« ist der Autor dieses Themas

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

36

03.01.2008, 11:45

Natürlich werden umfangreiche Statistiken veröffentlicht!
Oder dachtet ihr, ich würde einfach nur schreiben, dass xyz gewonnen hat?

Faule Socke

Community-Fossil

Beiträge: 1 915

Wohnort: Schreibtischstuhl

  • Private Nachricht senden

37

03.01.2008, 13:01

Also ich hab 3 methoden ausprobiert. 2 davon waren nix, die waren langsamer.

die andere skaliert sehr schlecht mit der menge der zahlen. Bei 10000 zahlen ist sie noch 120 mal so schnell, bei 1000000 zahlen nur noch 90 mal so schnell.

Ich werd mir mal davids vorschlag genauer anschauen.

Socke

Edit: Zum thema division ersetzten... ich weiss wie das geht aber meine versuche sind gescheitert... ne division duch 2 wäre ja kein problem aber duch 10 da muss ich wohl noch überlegen...

David Scherfgen

Administrator

  • »David Scherfgen« ist der Autor dieses Themas

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

38

03.01.2008, 13:09

In der Division sehe ich kein Problem.
Die braucht man doch nur ein paar Mal durchzuführen, unabhängig von der Anzahl der Zahlen.

Aber ungeachtet dessen kann man eine Division durch 10 mit einer Multiplikation und einem Bit-Shift nach rechts (schnelle Division durch 2^x) hinkriegen, allerdings nur für begrenzte Werte. Wie gesagt, hier lohnt sich das nicht. Die paar Divisionen (256 + x) machen den Kohl nicht fett ;)

Faule Socke

Community-Fossil

Beiträge: 1 915

Wohnort: Schreibtischstuhl

  • Private Nachricht senden

39

03.01.2008, 13:13

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

Darf ich eig. Schummeln?

Socke

TrommlBomml

Community-Fossil

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

40

03.01.2008, 13:40

Zitat von »"David Scherfgen"«

Aber ungeachtet dessen kann man eine Division durch 10 mit einer Multiplikation und einem Bit-Shift nach rechts (schnelle Division durch 2^x) hinkriegen, allerdings nur für begrenzte Werte. Wie gesagt, hier lohnt sich das nicht. Die paar Divisionen (256 + x) machen den Kohl nicht fett


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). und ich habe durch das ersetzen gut 100ms gespart^^ ( + nochma ungefähr 60 durch modularoperator ersetzen mit demselben prinzip).[/quote]

Werbeanzeige