golang/go

crypto/cipher: optimize safeXORBytes

Open

#35,381 opened on Nov 5, 2019

View on GitHub
 (11 comments) (0 reactions) (0 assignees)Go (19,008 forks)batch import
NeedsInvestigationPerformanceSuggestedhelp wanted

Repository metrics

Stars
 (133,883 stars)
PR merge metrics
 (No merged PRs in 30d)

Description

The discussion at https://github.com/golang/go/issues/31586 includes several techniques for optimizing xor of byte slices, including using encoding/binary (with native endianness) and loop unrolling. It'd be nice to apply them to safeXORBytes, which is used on many non-amd64 platforms. An optimized safeXORBytes might even be fast enough that we could delete fastXORBytes.

Somewhat related: #30553

cc @nhooyr

Contributor guide