| ??? 08/18/06 08:44 Read: times |
#122542 - Optimized results: Responding to: ???'s previous message |
After adapting the algorithm to the '51, mainly by eliminating many unnecessary long int operations, the execution time is down to <=186us (12.5 MHz/1-clocker). The code is still in C, so I assume that hand-coding it in assembly would be even faster.
Oddly enough, calculating the square root by brute force is only slightly slower (<= 247 us), even though 16 multiplications (eight 8*8 bit and eight 16*16 bit) are used. |
| Topic | Author | Date |
| Things you find ... | 01/01/70 00:00 | |
| 10 lines PLUS a whole bunch of 'lines' | 01/01/70 00:00 | |
| I forgot to mention ... | 01/01/70 00:00 | |
| sounds reasonable | 01/01/70 00:00 | |
| I'll optimize it tomorrow. | 01/01/70 00:00 | |
| haven't heard of that one | 01/01/70 00:00 | |
| Do it using the RLC instruction. | 01/01/70 00:00 | |
| Optimized results: | 01/01/70 00:00 | |
| how does the lookup table approach time | 01/01/70 00:00 | |
| Comparison: | 01/01/70 00:00 | |
| Table error | 01/01/70 00:00 | |
| No error. | 01/01/70 00:00 | |
| So how did you calculate/measure the average? | 01/01/70 00:00 | |
| Right below the table: | 01/01/70 00:00 | |
| I do the same thing | 01/01/70 00:00 | |
| Lookup table will win hands down | 01/01/70 00:00 | |
| For floats, yes. For long ints ... not so sure. | 01/01/70 00:00 | |
| one more thing | 01/01/70 00:00 | |
| if the precision is not 'critical' | 01/01/70 00:00 | |
| Another source | 01/01/70 00:00 | |
What about a Hardware Solution? | 01/01/70 00:00 |



