Du hast es erfasst, genau so sollte es eigentlich sein. Welche Optimierungen tatsächlich vom Compiler ausgeführt werden weiss ich aber nicht. Cool wäre natürlich, wenn auf einem WinXP 64 System mit .Net 2.0 für 64Bit die Programme auch auf 64 Bit optimiert werden. Vorstellbar ist da eigentlich alles, nur was genau gemacht wird weiss ich grade nichtNur mal ne rein theoretische Frage ob ich dich richtig verstanden habe...
Wenn der JIT compiler das Programm auf die aktuelle plattform optimiert, werden doch sicherlich auch Befehlssätze wie MMX/3DNow!, SSE (1,2,3), E-3DNow! und so weiter genutzt, richtig?
Würdest du dir den PB.Net Compiler kaufen?
Den Test kannnst du haben:Sebe hat geschrieben:Interessant wäre der Speedtest nochmal mit Double/Float Werten. Da wird sich das Bild dann evtl. wieder relativieren, wobei ich >gehört< habe, dass .Net 2.0 auch mit Float/Doubles recht schnell sein soll (im Gegensatz zu 1.x).
Code: Alles auswählen
#r = 100000000 
Delay(0)
time = ElapsedMilliseconds() 
For i = 1 To #r 
  f.f+0.1 
Next 
time = ElapsedMilliseconds()-time 
time2 = ElapsedMilliseconds() 
For i = 1 To #r 
  d.d+0.1 
Next 
time2 = ElapsedMilliseconds()-time2
MessageRequester("",Str(time)+" / "+Str(time2))Die Ergebnisse sind aber noch erschreckender...:
PB.Net: 156 - 174 / 140 - 157 (mit .Net v1.1)
PB: 900 - 960 / 1656 - 1680
Ich kann euch aber auch sagen warum das so ist: PB ließt jedes mal die Variable und die Konstante (0.1) aus dem Speicher und speichert die Variable wieder im Speicher. Was ja auch nicht falsch ist, es ist eben "nur" handoptimiert. Diese Speicherzugriffe passieren aber als .Net Exe nur einmal, nämlich vor bzw. nach der Schleife. (-> handoptimiert mag vielleicht bei Libraries gut sein, im Hauptcode sind optimier-algos aber wesentlich wichtiger, die PB nunmal nicht/kaum hat)
Ich denke schon, das ich die noch einbau, noch sind die allerdings nicht drin. (mal abgesehen von boolischen Ausdrücken)Sebe hat geschrieben:Noch eine Frage: Wird der PB.net Compiler auch alle Vartypen unterstützen (bool, alle unsigned Typen und decimal)?
Mag ja sein, nur wie willst du die Schleife mit den Befehlen noch weiter optimieren. Da ist doch nicht viel dran zu drehen. Die einzige Möglichkeit, die ich sehe, das ganze noch weiter zu optimieren wäre, die ganze Schleife durch ein einzelnes "a+#r*1" zu ersetzen. Dazu braucht man aber kein MMX...RaVeN99 hat geschrieben:Wenn dem so ist, sollte doch theoretisch bei einem speedtest, welcher eine operation beinhaltet die mittels eines solchen befehlssatzes in nur einem durchlauf berechnet wird, das Ergebnis nochmal ne ganze ecke deutlicher ausfallen oder?

[url=irc://irc.freenode.org/##purebasic.de]irc://irc.freenode.org/##purebasic.de[/url]
- hardfalcon
 - Beiträge: 3447
 - Registriert: 29.08.2004 20:46
 
Pb-Version nicht getestet, aber bei der .Net-VErsion von SpeedTest2 hab ich einmal 94/94 und das 2. Mal 94/93 gekriegt.
//EDIT: System: WinXP Pro SP2, Athlon XP irgendwas @ 3200+; 1GB DDR-400-RAM (Doublechannel).
//EDIT2: PB 4.0 Beta 11: 594/1109 (ohne Debugger natürlich)
Als .NET-Framework hab ich sowohl 1.1 als auch 2.0 drauf. Beide mit deutschem Languagepack.
			
			
													//EDIT: System: WinXP Pro SP2, Athlon XP irgendwas @ 3200+; 1GB DDR-400-RAM (Doublechannel).
//EDIT2: PB 4.0 Beta 11: 594/1109 (ohne Debugger natürlich)
Als .NET-Framework hab ich sowohl 1.1 als auch 2.0 drauf. Beide mit deutschem Languagepack.
					Zuletzt geändert von hardfalcon am 07.05.2006 12:00, insgesamt 2-mal geändert.
									
			
									
						Sagt mal, wird dieser Compiler nicht irgendwie um längen besser als PB?
Der einzige kleine nachteil ist ja nur dass NET 2 installiert sein muss. Ein kleines Minus gegenüber den vielen Vorteilen, das mit Vista verschwinden wird. Man wird sicher bald PB kaufen, um an PB.net zu kommen! Eine sehr interesante Entwicklung wenn das mit PB.net klappen wird.
			
			
									
									Der einzige kleine nachteil ist ja nur dass NET 2 installiert sein muss. Ein kleines Minus gegenüber den vielen Vorteilen, das mit Vista verschwinden wird. Man wird sicher bald PB kaufen, um an PB.net zu kommen! Eine sehr interesante Entwicklung wenn das mit PB.net klappen wird.
http://www.nevu.de/ Künstliche Intelligenz, die letzte Herausforderung!
						Dann installiert man eben Net auf XP oder Mono auf Linux...jeder wie ers mag.
			
			
									
									http://www.nevu.de/ Künstliche Intelligenz, die letzte Herausforderung!
						
