Gast
#4295735
Hallo, gibt es einen Geschwindigkeitsunterschied zwischen diesen 2 Anweisungen?
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
|
Anzeige
|
Geschwindigkeit avr-gcc bei 1 oder 0 setzen
Gast
#4295735
Hallo, gibt es einen Geschwindigkeitsunterschied zwischen diesen 2 Anweisungen?
Schau dir das .lss File an.
Gast
#4295743
Hermann Mikroc schrieb: > gibt es einen Geschwindigkeitsunterschied zwischen diesen 2 Anweisungen? beide machen etwas anders, damit ist es wenig sinnvoll es zu vergleichen. Beide sind eh "sehr" langsam, weil "1<<pos" in einer schleife bearbeitet werden muss.
Gast
#4295761
> weil "1<<pos" in einer schleife bearbeitet werden muss
Wenn der gcc den Inhalt der Funktion nicht kennt. Die geben sich einige
Mühe, so etwas als Inline-Funktion zu optimieren.
Gast
#4295763
Noch einer schrieb: > Wenn der gcc den Inhalt der Funktion nicht kennt. Die geben sich einige > Mühe, so etwas als Inline-Funktion zu optimieren. dann sollte man es aber als Makro schreiben, wenn man Geschwindigkeit braucht.
Gast
#4295766
Peter II schrieb: > weil "1<<pos" in einer schleife bearbeitet > werden muss. Nur wenn die Hardware keinen Maschinen-Befehl zum variablen Shift hat. GCC kann mehr als nur AVR. Planlos schrieb: > GCC kann mehr als nur AVR. Überschrift beachten. Und ja, man sollte sich lieber die .lss Datei anschauen, denn so eine simple Funktion wird gerne mal inline verwendet. Übrigens sind die beiden Varianten nicht im Ergebnis identisch, wenn val andere Werte als 0 oder 1 annehmen kann. Peter II schrieb: > dann sollte man es aber als Makro schreiben, wenn man Geschwindigkeit > braucht. Oder eleganter als Inline-Fcn. Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|