Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Mär 29, 2024 02:49

Foren-Übersicht » Sonstiges » Meinungen zu den Projekten
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 7 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Sa Jun 26, 2010 12:04 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 29, 2005 12:28
Beiträge: 2249
Wohnort: Düsseldorf
Programmiersprache: C++, C#, Java
Diskussions-Thread zu CoolMathLibrary (CML).

_________________
Yeah! :mrgreen:


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Sa Jun 26, 2010 12:25 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Hm. Ohne Schleifen, heißt das, mit SSE/MMX oder hast du einfach die Operationen normal untereinander geschrieben? Denn eigentlich rollen compiler statische Schleifen recht gut aus, sodass der Code im Quelltext gut aussieht, aber halt keine Schleife verwendet. Hast du mal mittels ggc -S (-S lässt den temporären ASM-Code bestehen, sodass du ihn dir anschauen kannst; falls du überhaupt gcc benutzt) geschaut, ob er dir die Schleifen ausrollt?

greetings

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Sa Jun 26, 2010 12:36 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 29, 2005 12:28
Beiträge: 2249
Wohnort: Düsseldorf
Programmiersprache: C++, C#, Java
Ich hab einfach die Operationen untereinander geschrieben. SSE/MMX nutze ich nicht um sicher zu sein, dass es überall läuft. Gut möglich, dass der Compiler statische Schleifen optimiert, ich hab mir das nicht näher angeguckt. Wenn er aber optimiert, wird er das nicht besser hin bekommen als das bei mir der Fall ist und Lesbarkeit ist bei mir durch sinnvolles Einrücken auch gegeben. Und ich behaupte auch gar nicht das meine Library das Non-Plus-Ultra ist....ich habe hier im Forum halt nur immer wieder Teile gepostet...da wollte ich das mal als ganzes veröffentlichen.

_________________
Yeah! :mrgreen:


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Sa Jun 26, 2010 13:29 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2621
Wohnort: Berlin
Programmiersprache: Go, C/C++
Unter gcc kannst du die vector extension verwende, damit du auf die sse1-4,mmx und 3dnow zugriff hast.
Diese hab ich in RadonFramework auch mit eingebaut aber so viel power bringt das nicht.
Ich hab letztens eine SphereSphereIntersection benchmark gebastelt und bin mit sse3 auf 600.000 Intersections und ohne auf 560.000(fpu) Intersections gekommen.
Allerdings nur auf 1 Kern, mit Parallelisierung bekommt man viel mehr raus, bei 6 kernen hatte ich noch knapp 3.400.000 Intersections.
Also bei einfachen dingen ist sse und co nicht so interessant, nur bei komplexen Operationen lohnt es sich.

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Di Mär 22, 2011 10:10 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 29, 2005 12:28
Beiträge: 2249
Wohnort: Düsseldorf
Programmiersprache: C++, C#, Java
CoolMath 2011-03-22 BETA veröffentlicht.

_________________
Yeah! :mrgreen:


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mo Apr 11, 2011 18:05 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mär 30, 2007 18:35
Beiträge: 331
Mir ist aufgefallen, dass der Konstruktur für die Matrix44 mit Up-, Front- und Positionsvektor auskommentiert ist. Nachdem ich ihn dennoch getestet habe, gab es ein paar Darstellungsfehler. Ich habe den Code danach etwas verändert:

Code:
  1.     Vector3<T> vLeft;
  2.  
  3.     vUp.normalize();
  4.     vFront.normalize();
  5.     vLeft = -(vFront % vUp);
  6.     vLeft.normalize();
  7.     vFront = -(vUp % vLeft);


Damit scheint es zu funktionieren. Vielleicht hilft es dir :wink:


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Di Apr 12, 2011 07:37 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 29, 2005 12:28
Beiträge: 2249
Wohnort: Düsseldorf
Programmiersprache: C++, C#, Java
Das ganze war Copy&Paste aus einer noch älteren Version. Ich hatte damals nur gesehen, dass es nicht mehr funktionierte und keine Zeit selbst zu probieren. Thx.

_________________
Yeah! :mrgreen:


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 7 Beiträge ] 
Foren-Übersicht » Sonstiges » Meinungen zu den Projekten


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 13 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.361s | 15 Queries | GZIP : On ]