On Sunday, 3 September 2017 at 23:30:43 UTC, EntangledQuanta wrote:
On Sunday, 3 September 2017 at 04:01:34 UTC, Ilya Yaroshenko wrote:
On Saturday, 2 September 2017 at 03:29:20 UTC, EntangledQuanta wrote:
On Saturday, 2 September 2017 at 02:49:41 UTC, Ilya Yaroshenko wrote:
[...]

Thanks. Seems useful.

Just added `bytegroup` topology. Released in v0.6.12 (will be available in DUB after few minutes.)

http://docs.algorithm.dlang.io/latest/mir_ndslice_topology.html#bytegroup

It is faster for your task then `bitpack`.

Best regards,
Ilya

Thanks! I might end up using this. Is this basically just a logical mapping(cast(int)bytes[i*3]) & 0xFFFFFF) type of stuff or is there more of a performance hit?

I could do the mapping myself if that is the case as I do not need much of a general solution. I'll probably be using in a just a few lines of code. It just needs to be nearly as fast as direct access.

The implementation can be found here
https://github.com/libmir/mir-algorithm/blob/master/source/mir/ndslice/iterator.d
It uses unions and byte loads. The speed should be almost the same as direct access.

Reply via email to