Daniel Lemire
Daniel Lemire
@aqrit It would be more correct to use code like this: ``` __m128i mask_20 = _mm_set1_epi8( 0x20 );// c==32 __m128i mask_70 = _mm_set1_epi8( 0x70 );// adding 0x70 does not check...
@aqrit Though it depends, looking at the XML and JSON specs, white space is defined as ``` %x20 / ; Space %x09 / ; Horizontal tab %x0A / ; Line...
@aqrit I guess your point is that saturated arithmetic can be more efficient than using comparison instructions, right?
My understanding is that PyPy uses (currently) UTF-32. For UTF-32, here is a vectorizable scalar function that removes all unicode white space as per the specification: ```c uint8_t nibble1[16] =...
@thedrow I'm interested in hearing your thoughts as to how this could be adapted to PyPy in principle given that PyPy is written in what is effectively Python. Is there...
@thedrow Ah. I see that you have some experience interfacing C/C++ code with PyPy... http://omerkatz.com/blog/2015/09/11/using-protobuf-with-pypy So there might be more hope there than I thought... still, one should be worried...
@thedrow And PyPy uses UTF-32, correct?
> Why SIMD is nor in priority for Go maintainers? I can't answer for the Go core team but single-core performance has not been a focus for Go.
Throttling is a concern but presumably only on wide (512-bit) registers as @travisdowns explained well in his answer. Stick with 256-bit and you'll be fine (in this instance, there are...
> Looks like it's (almost?) 1:1 translation. Its byte permutation function is more powerful than what we are used to. It has also other neat things that were clearly ahead...