Oberon Community Platform Forum
November 22, 2019, 07:35:21 PM *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
   Home   Help Search Login Register  
Pages: [1]
Author Topic: Bit reversing functions (hopefully fast & correct)  (Read 2603 times)
Jr. Member
Posts: 59

« on: August 07, 2008, 02:38:23 PM »

Hi All,
  First of all, I am not an assembly language guru. I tried to improve the computation speed of  the bit reversing function (one, we use inside the FFT computations).
  I came up with some dirty & dangerous solutions ....
  Please find attached two modules, one that contains actual functions, and one that contains the test program.

  On my Lenovo Z61t laptop (Intel Core 2 T7200, 2GHz) I got:

  Testing speed of  the bit reversing functions (1000 iterations)
   [BitRevDEFINITION ]       Execution time is -> 4735 ms
   [RevBitAsm16]                Execution time is -> 3265 ms
   [RevBitAsm16Unrolled]  Execution time is -> 1391 ms

It seems, that my  Athlon X2 at home is faster. I will post results from the test late this evening.

I have also 32-bit version of these function but I did not test them yet. The assembly version maybe be even faster when an array of pre-computed mirrors is used. If you need them, please let me know.

Any comments suggestions and  errors/problems report are welcome.

Could you run this test on your machines ?

Have fun!


  This is result of running the test program on my Athlon PC (Athlon 64 X2 Dual Core 4200+, ~2.0GHz):

Testing speed of  the bit reversing functions (1000 iterations)
[BitRevDEFINITION ]       Execution time is -> 4859 ms
[RevBitAsm16]                Execution time is -> 922 ms
[RevBitAsm16Unrolled]  Execution time is -> 688 ms


* BitReversing.Mod (4.18 KB - downloaded 349 times.)
* TestBitRevers.Mod (6.05 KB - downloaded 334 times.)
« Last Edit: August 07, 2008, 09:27:22 PM by darek » Logged
Pages: [1]
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!