bytealg

package
v0.0.0-...-3dde240 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 5, 2023 License: Apache-2.0 Imports: 1 Imported by: 0

Documentation

Overview

Package bytealg contains optimized algorithms operating on byte slices.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Broadcast

func Broadcast(dst []byte, src byte)

Broadcast writes the src value to all bytes of dst.

func Count

func Count(data []byte, value byte) int

This function is similar to using the standard bytes.Count function with a one-byte separator. However, the implementation makes use of AVX-512 when possible, which yields measurable throughput improvements:

name old time/op new time/op delta CountByte 82.5ns ± 0% 43.9ns ± 0% -46.74% (p=0.000 n=10+10)

name old speed new speed delta CountByte 49.6GB/s ± 0% 93.2GB/s ± 0% +87.74% (p=0.000 n=10+10)

On systems that do not have AVX-512, the AVX2 version of the code is also optimized to make use of multiple register lanes, which gives a bit better throughput than the standard library function:

name old time/op new time/op delta CountByte 82.5ns ± 0% 61.0ns ± 0% -26.04% (p=0.000 n=10+10)

name old speed new speed delta CountByte 49.6GB/s ± 0% 67.1GB/s ± 0% +35.21% (p=0.000 n=10+10)

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL