Setting our vision for the 2017 cycle

After writing code, I've realized that the link_llvm_intrinsics feature is not a feature I want to use. Rather, I'd like to see explicit SIMD (internally based on the platform_intrinsics feature) stabilized instead.

The reason why I'd like to see explicit SIMD stabilized in 2017 (hopefully early 2017) is that I'd like to land encoding_rs in Firefox sooner rather than later, but the most performance-sensitive conversion pair, decoding 100% ASCII or almost 100% ASCII labeled as UTF-8 to UTF-16 (affects the Firefox startup path as well as CSS and JS on the Web even if the content isn't English), would regress in performance without explicit SSE2. (Look for row "English, UTF-8" column "uconv" under "Decode" in the second table of the linked doc: only 63% of Gecko's current decode speed if explicit SSE2 isn't used by encoding_rs but over twice as fast as the current code if explicit SSE2 is used.)

2 Likes