visualstudio05 ist larm...
-
Also ich kenne mich mit Intel-Assembler garnicht aus, nur mit 6510 und ARM.
Egal...
Könnte es sein, das die Secure-C-Runtime eingeschaltet ist? Die würde Performance fressen.
CBSPNode, ist daswas von dir?
-
Artchi schrieb:
Könnte es sein, das die Secure-C-Runtime eingeschaltet ist? Die würde Performance fressen.
meinst du buffer-security-check, Run-time-checks usw? nein, die sind nicht an. wäre aber aus dem vs03 projekt übernommen worden.
Artchi schrieb:
CBSPNode, ist daswas von dir?
ja, eine klasse eines BSP-Trees die eine Node darin darstellt, in dem sniple wird geprüft ob weitere childs vorhanden sind bzw. ob der pointer !NULL ist.
rapso->greets();
-
Warum die SSE Befehle bei der 05er Version mehr sind, kann ich momentan nicht nachvollziehen. Wahrscheinlich soll dort erst alles in Register geschoben werden, bevor gerechnet wird. Ob das jetzt günstiger ist, als direkt den Speicher für den rechten Operand zu verwenden, kann ich momentan nicht sagen.
Merkwürdig ist aber auch folgendes:00404990 test eax,eax 00404992 je CBSPNode::Trace+25Ah (404BDAh) 00404998 jmp CBSPNode::Trace+20h (4049A0h) //<--WTF 0040499A lea ebx,[ebx]
Sieht so aus, als würde jmp hier wegen Alignment gemacht werden. Ob das vorteilhaft ist, weiss ich nicht. Auswirkungen auf die Laufzeit kann das aber durchaus haben (vllt. auch negative).
-
hab ich auch vermutet, aber das hätte eigentlich nur vorteile wenn es in nem loop wäre, so ist es einfach nur ein jump und das manuelle allignment zieht wohl mehr als wenn man den penalty direkt der cpu überlassen würde... hmhmhm... ms hat noch nicht geantwortet.
-
Reines Interesse: Welche Version des 2005er?
MfG SideWinder
-
gibt es mehrere? also ich hab die version mitte dezember gezogen... proffesional, dvd, english.
-
rapso schrieb:
gibt es mehrere? also ich hab die version mitte dezember gezogen... proffesional, dvd, english.
Professional. Ich wollte nur überprüfen ob das eventuell an der Express Edition liegt
MfG SideWinder
-
An der Express könnte es auch nicht ganz liegen, da die Express den 32bit Professional-Compiler drin hat, nur ohne WPO. Ansonst sind alle Optimierungen in der Express drin.
-
hah, die antwort wird euch gefallen
Microsoft schrieb:
I tried to reproduce this bug on my machine. I installed both vs2003 and vs2005. My vs2005 version is 8.0.50727.42.
My vs2003 version is 7.1.3088. I found that vs2005 release build is almost 10 times faster than vs2003 release build.
I can not find the redundant jmp in vs2005 assembly code. Please give more detail information about how to build for
further investigation.also, um mal festzuhalten, mein wochenlang optimierter raytracer, der es am ende auf 20fps bei 512*512 brachte und wirklich das letzte aus meiner kiste kratzt, läuft bei denen mit 200fps
... dank neuem compiler
... sehr sehr schön.
rapso->greets();
-
Artchi schrieb:
An der Express könnte es auch nicht ganz liegen, da die Express den 32bit Professional-Compiler drin hat, nur ohne WPO. Ansonst sind alle Optimierungen in der Express drin.
Die Optimierung in der Express funzt doch net. Wenn man die einstellt, gibts nen Compile-Fehler(oder Linker, weis net mehr^^).