Seite 4 von 11

Verfasst: 23.04.2006 14:39
von zigapeda
freedimension hat geschrieben:
dysti hat geschrieben:Warum nicht. Ursprünglich bin ich mit den ZX81 angefangen und auch die MAC-Welt ist mir ganz und garnicht fremd, im Gegenteil.
Linux kenne ich mich auch ein bisschen aus. Betreibe nur ein Linxnetzwerk mit Mailserver,Ldap und Konsorten.
Ah, du meinst du kommst eher aus der MS Windows-Ecke *Lichtaufgeh*
nicht von MS (in der Art einmal Angestellter dort gewesen zu sein) ;)
Achso so hätte man das verstehen sollen.
Für mich hat sich das auch so angehört als ob du bei Microsoft gearbeitet hättest.

Verfasst: 23.04.2006 16:32
von dysti
Bin leider nur ein armer Berufschullehrer.

Verfasst: 23.04.2006 17:58
von Nik
Wie ist das bei PB.Net den mit den Libaries werden da die Originale irgendwie angesprochen oder implementierst du die alle nochmal in .Net, scheint ja von fred autorisiert zu sein das Projekt ansonsten würde nich nämlich keinen Cent zahlen^^
Wenn das jetzt die PB Syntax haben soll wie kann ich dann .Net ansprechen was ja nur OOP kennt? Gibt es dann sonen class befehl?
Fragen über Fragen, naja hab das Beta Tester werden ja wohl verpasst also muss ich so Fragen^^

Wäre echt cool wen du da noch genaueres erzählen könntest...

Verfasst: 23.04.2006 18:34
von Deeem2031
Nik hat geschrieben:Wie ist das bei PB.Net den mit den Libaries werden da die Originale irgendwie angesprochen oder implementierst du die alle nochmal in .Net
Ich schreib die nochmal neu, wäre zwar vielleicht über umwege möglich die org. Libs zu benutzen, aber da ist es sinnvoller alle neu zu schreiben.
Nik hat geschrieben:scheint ja von fred autorisiert zu sein das Projekt
So ist es ;)
Nik hat geschrieben:Wenn das jetzt die PB Syntax haben soll wie kann ich dann .Net ansprechen was ja nur OOP kennt? Gibt es dann sonen class befehl?
Ich bin gerade dabei erste Schritte in direkter Implementierung von .Net zu gehen, kann aber noch nich sagen ob das so funzt wie ich mir das vorstelle, also bisl gedult.

Verfasst: 03.05.2006 00:57
von Deeem2031
Für die, die um die Geschwindigkeit ihres Programmes bangen, (und weils mich selber interessiert) hab ich mal ein sehr simplen Test geschrieben:

Code: Alles auswählen

#r = 100000000
time = ElapsedMilliseconds()
For i = 1 To #r
  a+1
Next
time = ElapsedMilliseconds()-time
MessageRequester("",Str(time))
Mit dem org. PB bekomme ich Werte von 485 bis 510. Compiliert mit PB.Net bekomme ich allerdings nur 141 bis 171 ms. Den ersten Test hat .Net mehr als erfolgreich bestanden (was mich nicht wirklich wundert ;) )

Wer es selbst mal testen will kann sich hier die .Net-Exe laden:
http://www.deeem2031.de/PB.Net/SpeedTest01.exe

Das einzige was mit bisher wundert ist, dass die .Net-Exe größer ist. (Liegt aber vielleicht auch an mir, hab mir noch keinen Kopp wegen der Exe-Größe gemacht (7 KB find ich auch noch nich so tragisch))

Verfasst: 06.05.2006 11:01
von manunidi
Die geschwindigkeit vom .NET compiler ist ja wirklich klasse!!! Aber warum ist dem so? Purebasic wird doch mit "Handoptimierter" assembler code angepriesen, und ist langsam als .NET warum?

Verfasst: 06.05.2006 13:24
von Sebe
Das liegt wohl am JIT Compiling. .Net ermöglicht es, dass die Programme beim ersten Ausführen zwar langsamer sind (weil sie ja erst dann richtig kompiliert werden), aber dafür vom JIT compiler auf die aktuelle Plattform optimiert werden. Zudem waren die Microsoft Compiler bei Integern immer sehr schnell (da schlägt auch VisualBasic 6 PureBasic). 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).

Noch eine Frage: Wird der PB.net Compiler auch alle Vartypen unterstützen (bool, alle unsigned Typen und decimal)?

Verfasst: 06.05.2006 15:22
von manunidi
Und wie kann man dann purebasic programme auf die aktuelle Plattform optimieren? Gibts da auch ein paar tricks?

Verfasst: 06.05.2006 15:43
von Zaphod
Du kannst den inline assembler benutzen...

Verfasst: 06.05.2006 15:55
von RaVeN99
@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?
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?
Also zum Beispiel (wenn ichs noch richtig im Kopf habe) ne verknüpfung aus Multiplikation und addition - dafür gibt es ja bereits seit MMX nen befehl.

Würde mich interessieren wie das Ergebnis damit aussähe, weil in PB wird das ja nicht wirklich optimiert, oder täusche ich mich?


Mfg
RaVeN