Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Wichtig: Bevor Du wegen einem Problem mit der CC2 postest, stelle sicher, daß Du
die neueste OS-Version, die neuseste Compiler-DLL und die neuesten Modulversionen benutzt!
Beachte, daß sich auf der CD zur CC2-Unit/Station auch jetzt noch die ältesten Dateien befinden!
Es gelten folgende Anleitung und Regeln: Regeln CC2Net.de-Forum
Zurück zum Artikel  (Blaue Felder sind Pflichtfelder)


Name:   UserID: 
 E-Mail:
Kategorie
Betreff
Homepage:
Link-Titel:
Link-URL:
Cookie für Name, UserID, E-Mail, Homepage-URL setzen
(Erspart die Neueingabe bei Beiträgen und Antworten)
(Zum Löschen des Cookies hier klicken)
Ich nutze:
C-Control II Unit
C164CI-Controllerboard
C-Control II Station
CCRP5 mit CC2-Unit (Conrad Roboter)
CC2-Application-Board
CC2-StarterBoard
CC2-ReglerBoard
eigenes Board
original OS     OSOPT_V2     OSOPT V3.0 OSOPT V3.1

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>
C2 Quellcode formatieren: <code>Quellcode</code>
ASM Quellcode formatieren: <asm>Quellcode</asm>
(Innerhalb eines Quellcodeabschnitts ist kein html möglich.)
Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst !  

> Hallo André, > > danke für die schnelle Antwort. > > &gt; Hast Du vielleicht noch andere Threads laufen ? > Ja es laufen noch zwei Threads, alle mit der gleichen Prio. > > werde mich für dein 2tes Beispiel entscheiden, ist auch das > schnellste, und in Zukunft for-Schleifen so weit möglich umgehen. > > mfg Tom > > &gt; Hallo Tom, > &gt; > &gt; Warum 28ms. Ich komme auf 7ms. > &gt; Hast Du vielleicht noch andere Threads laufen ? > &gt; Das würde die längere Laufzeit erklären. > &gt; > &gt; Übrigens, so kommst Du auf 6ms und es wäre auch eleganter: > &gt; <font face="courier new" size=2&gt; > &gt; k=i*8; > &gt; temp=IB[i]; > &gt; for j = 0 ... 7 > &gt; { > &gt; IBit[k+j]= (temp shr j) and 1; > &gt; }</font&gt; > &gt; > &gt; Daß dies immernoch so lange dauert liegt zu einem daran, daß > &gt; die For-Schleife selbst, also ohne Inhalt ca. 2ms benötigt und > &gt; der Zugriff auf Array-Variablen immer relativ langsam ist. > &gt; > &gt; Und so wären es nurnoch 4ms: > &gt; <font face="courier new" size=2&gt; > &gt; k=i*8; > &gt; temp=IB[i]; > &gt; IBit[k]= temp and 1; > &gt; IBit[k+1]= (temp shr 1) and 1; > &gt; IBit[k+2]= (temp shr 2) and 1; > &gt; IBit[k+3]= (temp shr 3) and 1; > &gt; IBit[k+4]= (temp shr 4) and 1; > &gt; IBit[k+5]= (temp shr 5) and 1; > &gt; IBit[k+6]= (temp shr 6) and 1; > &gt; IBit[k+7]= (temp shr 7) and 1;</font&gt; > &gt; > &gt; MfG André H. > &gt; > &gt; > &gt; &gt; Hallo zusammen, > &gt; &gt; > &gt; &gt; ich habe mich etwas mit Programmlaufzeiten beschäftigt. > &gt; &gt; Doch kann ich nicht ganz glauben was ich herausgefunden > &gt; &gt; habe. z.B. der folgende Programmausschnitt > &gt; &gt; > &gt; &gt; /* Startzeit festhalten */ > &gt; &gt; Startzeit=system.timer(); > &gt; &gt; > &gt; &gt; // Bits bearbeiten > &gt; &gt; for j = 0 ... <= 7 > &gt; &gt; { > &gt; &gt; if IB[i] & (1 shl j) IBit[(i*8)+j]=1; else IBit[(i*8)+j]=0; > &gt; &gt; } > &gt; &gt; > &gt; &gt; // letzte Laufzeit ermitteln > &gt; &gt; Laufzeit = system.timer()-Startzeit; > &gt; &gt; > &gt; &gt; In der Variable Laufzeit kann ich Werte von so ca. 26-28 > &gt; &gt; beobachten, und wenn ich das mit system.timer() richtig > &gt; &gt; verstanden habe sind das ms. Zwar wird die Schleife 8x > &gt; &gt; durchlaufen, aber so richtig glauben kann ich das mit > &gt; &gt; den rund 28ms nicht. Da ich bis jetzt noch keine Info > &gt; &gt; gefunden habe um dies mal nachzurechnen jetzt meine > &gt; &gt; Frage: Stimmt das alles so oder hab ich es nur nicht > &gt; &gt; verstanden? > &gt; &gt; > &gt; &gt; mfg Tom
Dateianhang: (.gif, .png., .jpg, .zip, .rar)
max. 256kB
max. 256kB