Seite 5 von 11

Verfasst: 06.05.2006 19:40
von Sebe
Nur 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?
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 nicht :)

Verfasst: 07.05.2006 07:38
von Deeem2031
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).
Den Test kannnst du haben:

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))
(PB.Net-Exe) http://www.deeem2031.de/PB.Net/SpeedTest02.exe

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)
Sebe hat geschrieben:Noch eine Frage: Wird der PB.net Compiler auch alle Vartypen unterstützen (bool, alle unsigned Typen und decimal)?
Ich denke schon, das ich die noch einbau, noch sind die allerdings nicht drin. (mal abgesehen von boolischen Ausdrücken)
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?
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...

Verfasst: 07.05.2006 11:14
von hardfalcon
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.

Verfasst: 07.05.2006 11:21
von Deeem2031
Hm, schön, nur ohne Vergleichswert bringen die Werte nicht viel... Und die .Net-Version wäre auch interessant ;)

Verfasst: 07.05.2006 13:03
von Eric
.Net: 172/109
PB 4.0 Beta 11: 860/1281

.Net 1.1
System: WinXP Pro SP2, Athlon 64 @ 3200+; 512MB DDR-irgendwas-RAM.

Verfasst: 07.05.2006 15:25
von Norbie
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.

Verfasst: 07.05.2006 15:30
von MVXA
> Ein kleines Minus gegenüber den vielen Vorteilen, das mit Vista verschwinden wird.
Fragt sich nur ob jeder gerne seine Leistung verschenken wird und
Viagra installieren wird. Ich hab jedenfalls nicht so eine große HDD.
Geschweige denn den RAM...

muste jetzt sein, sry...

Verfasst: 07.05.2006 15:37
von Norbie
Dann installiert man eben Net auf XP oder Mono auf Linux...jeder wie ers mag.

Verfasst: 07.05.2006 15:44
von Zaphod
Du hast weniger als 1GHz+1GB Ram? Bist wohl kein Spieler ;)

Naja, ich denke mal schon das Vista spätestens dann ziemlich verbreitet sein wird, wenn es auf fertig-PCs vorinstalliert wird.

Verfasst: 07.05.2006 15:48
von MVXA
1,6 GHz CPU und 0,6 GB RAM. Spielen tu ich schon nur nich unbedingt die
neusten Titel...