the absolute bleed edge fastest way to strip out bits from 4 bytes of hex
Show older comments
I am looking for the absolute top dog in speed to do the following
If i have an 8 byte char for example
test = {a a a a a a a a }
I need to be able to break it down into two pieces
x bits to y bits
and
m bits to n bits
So far i have done a speed test on an old process like this
answer = dec2bin(hex2dec(strcat(word_1,word_2)));
answer = answer(1:22);
answer = bin2dec(answer);
Then i ran a speed test on a newer function
hex2binaryvector
Then using the bi2de function that i beleive is newer
Im seeing a 10X slow down in the new function
Can anyone confirm?
1 Comment
DGM
on 1 Aug 2021
Assuming these are character vectors, you can get a chunk of speed by just using
[word_1,word_2]
instead of strcat().
Given that dec2bin() and hex2dec() seem to be doing the math in m-code, I imagine you can roll a pedestrian hex2bin() function that's faster than the two together, but maybe not by much.
Accepted Answer
More Answers (1)
Walter Roberson
on 1 Aug 2021
0 votes
The absolute top dog in speed is to have (y-x+n-m+2) different 8 dimensional lookup tables, each of which is (102 x 102 x 102 x 102 x 102 x 102 x 102 x 102) entries and each of which returns one bit. If you can promise upper case instead of lower case then the dimensions can be 70 instead of 102.
The memory requirements can be drastically reduced by very simple calculations, but that will not give you absolute top dog performance.
This approach requires more memory than any publicly known x64 implementation can use (the public x64 design only defines 48 address lines), but so what? It is faster than the alternatives.
When you ask for absolute top dog, you are asking for all of the safety measures to be taken out, including safety precautions against it requiring more hardware than you can possibly afford.
1 Comment
Robert Scott
on 1 Aug 2021
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!