Looking for go Answers? Try Ask4KnowledgeBase
Looking for go Keywords? Try Ask4Keywords

Go Optimiser les implémentations basées sur l'architecture


Exemple

Nous pouvons optimiser une fonction xor simple pour les architectures qui prennent en charge les lectures / écritures non alignées en créant deux fichiers qui définissent la fonction et les préfixent avec une contrainte de construction (pour un exemple réel du code xor qui est hors de portée ici, voir crypto/cipher/xor.go dans la bibliothèque standard):

// +build 386 amd64 s390x

package cipher

func xorBytes(dst, a, b []byte) int { /* This function uses unaligned reads / writes to optimize the operation */ }

et pour d'autres architectures:

// +build !386,!amd64,!s390x

package cipher

func xorBytes(dst, a, b []byte) int { /* This version of the function just loops and xors */ }