Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C Quellcode formatieren: <code>Quellcode</code> BASIC Quellcode formatieren: <basic>Quellcode</basic> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! -> I > > > Kurz: > > > Es würde mich einfach interessieren wie schnell die PRO im Detail wirklich ist, > > > Es wäre schön wenn du meine Neugier befriedigen könntest. > > > > Hi, ich hätte in dem Nachrichtenwust Deinen Beitrag beinahe übersehen. > > > > Wie ich schon geschrieben habe, sind die schnellsten Bytecode Operationen in ca. 60-65 Taktzyklen > > abgearbeitet. Alles weitere hängt stark von der Anzahl der nötigen Bytecodes und der Komplexität der > > Bytecodes ab. Gerade Fließkommaoperationen sind auf einer 8Bit CPU nicht effizient. Wie ich in jetzt > > schon vielen Nachrichten geschrieben habe, benötigen Portausgaben oder Eingaben 5 Bytecodes, da > > dies ein Bibleotheksaufruf ist. Ich werde daraus einen spezialisierten Bytcode machen, so daß eine > > Portausgabe nur noch einen Bytecode benötigt. Ich hoffe die Mühe lohnt sich auch für die Praxis, denn > > keiner konnte mir bisher sagen, wie schnell denn Portausgaben oder Porteingaben sein müssen. Oder > > geht es statt um eine Anwendung nur um schnelle Benchmarks? > > > > Dabei habe ich immer noch keine Ahnung wie ich einzelne Bytecodes wirklich messen will. Lass ich eine > > Integer Addition jetzt 10.000mal Durchlaufen, ist schon viel früher der Stack korrumpiert und der Interpreter > > stürzt ab. Eigentlich kann ich sauber nur messen, daß zwei Argumente auf den Stack geladen und dann > > addiert werden. Wie machst Du das auf der CC1? > > > > Gruss Peter > > Hallo..... > Den Durchschnittswert habe ich einfach mit einem Durchlauf über die gängisten Instruktionen ermittelt > und die Anzahl, bei jedem Durchlauf addiert. So lange bis eben eine Sekunde verstrichen ist. > Die Detailwerte die hier veröffentlicht wurden, habe ich im Prinzip genauso wie du auch ermittelt. > Mit einer FOR TO NEXT und dazwischen die zu messende Instruction. Die Laufzeit der reinen FOR > TO NEXT habe ich dann natürlich abgezogen. > > Das was im Ergebnis so dargestellt ist: > > > WORD*WORD - 70us > ist natürlich in echt so entstanden, also auch mit zwei Werten auf dem Stack: > > for i=1 to 30000 > a=b*c > next > > ciao....... > >