746988e7a2
name old time/op new time/op delta GlyphAlpha16Src-8 3.37µs ± 0% 3.07µs ± 1% -8.86% (p=0.000 n=9+9) GlyphAlpha32Src-8 6.01µs ± 1% 4.55µs ± 0% -24.28% (p=0.000 n=10+9) GlyphAlpha64Src-8 13.2µs ± 0% 8.1µs ± 0% -38.69% (p=0.000 n=10+9) GlyphAlpha128Src-8 32.9µs ± 0% 16.9µs ± 0% -48.85% (p=0.000 n=10+9) GlyphAlpha256Src-8 98.0µs ± 0% 43.6µs ± 1% -55.50% (p=0.000 n=10+10) A comparison of the non-SIMD and SIMD versions: name time/op FixedAccumulateOpSrc16-8 368ns ± 0% FixedAccumulateOpSrcSIMD16-8 86.8ns ± 1% FloatingAccumulateOpSrc16-8 434ns ± 0% FloatingAccumulateOpSrcSIMD16-8 119ns ± 0% FixedAccumulateOpSrc64-8 6.12µs ± 0% FixedAccumulateOpSrcSIMD64-8 1.17µs ± 0% FloatingAccumulateOpSrc64-8 7.15µs ± 0% FloatingAccumulateOpSrcSIMD64-8 1.68µs ± 1% Change-Id: I58e5c7a3ecd12e536aab8e765e94275453d0eac8 Reviewed-on: https://go-review.googlesource.com/30431 Reviewed-by: David Crawshaw <crawshaw@golang.org>
22 lines
484 B
Go
22 lines
484 B
Go
// Copyright 2016 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
// +build !appengine
|
|
// +build gc
|
|
// +build !noasm
|
|
|
|
package vector
|
|
|
|
func haveSSE4_1() bool
|
|
|
|
var haveFixedAccumulateSIMD = haveSSE4_1()
|
|
|
|
const haveFloatingAccumulateSIMD = true
|
|
|
|
//go:noescape
|
|
func fixedAccumulateOpSrcSIMD(dst []uint8, src []uint32)
|
|
|
|
//go:noescape
|
|
func floatingAccumulateOpSrcSIMD(dst []uint8, src []float32)
|