Realtime 16 Bit unsigned int Sin schneller als 8 Bit lookup table?!

Helmuth:
Ich konnte dieses Ergebnis qualitativ bestätigen:

  • using sin16 takes 4-6ms
  • using sin takes 10-14ms
  • using a precalculated lookup table in ram (256 bytes) takes 6-8ms

Bist Du Dir absolut sicher, dass Dir keine Compiler-Optimierungen die Messung verfälschen?
Code?

Meiner Erfahrung nach hat der AVR GCC Compiler ganz nette Tricks zur Optimierung auf Lager, und wenn man bei Benchmarkroutinen nicht aufpasst, führen eigene Benchmarks ganz schnell dazu, dass Code entweder wegoptimiert wird oder bereits zur Compilezeit ausgewertet wird, so dass im Programm gar nicht mehr die eigentliche Berechnungsfunktion, sondern entweder gar nichts oder nur das während der Kompilierung ermittelte Ergebnis steht und angezeigt wird.