mirror of
https://gitee.com/johng/gf.git
synced 2024-11-30 11:18:02 +08:00
151 lines
2.7 KiB
Go
151 lines
2.7 KiB
Go
// Copyright 2017-2018 gf Author(https://github.com/gogf/gf). All Rights Reserved.
|
|
//
|
|
// This Source Code Form is subject to the terms of the MIT License.
|
|
// If a copy of the MIT was not distributed with this file,
|
|
// You can obtain one at https://github.com/gogf/gf.
|
|
|
|
// go test *.go -bench "Benchmark_Bytes_To_*" -benchmem
|
|
|
|
package gconv
|
|
|
|
import (
|
|
"testing"
|
|
"unsafe"
|
|
|
|
"github.com/gogf/gf/encoding/gbinary"
|
|
)
|
|
|
|
var valueBytes = gbinary.Encode(123456789)
|
|
|
|
func Benchmark_Bytes_To_String_Normal(b *testing.B) {
|
|
for i := 0; i < b.N; i++ {
|
|
_ = string(valueBytes)
|
|
}
|
|
}
|
|
|
|
func Benchmark_Bytes_To_String_Unsafe(b *testing.B) {
|
|
for i := 0; i < b.N; i++ {
|
|
_ = *(*string)(unsafe.Pointer(&valueBytes))
|
|
}
|
|
}
|
|
|
|
func Benchmark_Bytes_To_String(b *testing.B) {
|
|
for i := 0; i < b.N; i++ {
|
|
String(valueBytes)
|
|
}
|
|
}
|
|
|
|
func Benchmark_Bytes_To_Int(b *testing.B) {
|
|
for i := 0; i < b.N; i++ {
|
|
Int(valueBytes)
|
|
}
|
|
}
|
|
|
|
func Benchmark_Bytes_To_Int8(b *testing.B) {
|
|
for i := 0; i < b.N; i++ {
|
|
Int8(valueBytes)
|
|
}
|
|
}
|
|
|
|
func Benchmark_Bytes_To_Int16(b *testing.B) {
|
|
for i := 0; i < b.N; i++ {
|
|
Int16(valueBytes)
|
|
}
|
|
}
|
|
|
|
func Benchmark_Bytes_To_Int32(b *testing.B) {
|
|
for i := 0; i < b.N; i++ {
|
|
Int32(valueBytes)
|
|
}
|
|
}
|
|
|
|
func Benchmark_Bytes_To_Int64(b *testing.B) {
|
|
for i := 0; i < b.N; i++ {
|
|
Int(valueBytes)
|
|
}
|
|
}
|
|
|
|
func Benchmark_Bytes_To_Uint(b *testing.B) {
|
|
for i := 0; i < b.N; i++ {
|
|
Uint(valueBytes)
|
|
}
|
|
}
|
|
|
|
func Benchmark_Bytes_To_Uint8(b *testing.B) {
|
|
for i := 0; i < b.N; i++ {
|
|
Uint8(valueBytes)
|
|
}
|
|
}
|
|
|
|
func Benchmark_Bytes_To_Uint16(b *testing.B) {
|
|
for i := 0; i < b.N; i++ {
|
|
Uint16(valueBytes)
|
|
}
|
|
}
|
|
|
|
func Benchmark_Bytes_To_Uint32(b *testing.B) {
|
|
for i := 0; i < b.N; i++ {
|
|
Uint32(valueBytes)
|
|
}
|
|
}
|
|
|
|
func Benchmark_Bytes_To_Uint64(b *testing.B) {
|
|
for i := 0; i < b.N; i++ {
|
|
Uint64(valueBytes)
|
|
}
|
|
}
|
|
|
|
func Benchmark_Bytes_To_Float32(b *testing.B) {
|
|
for i := 0; i < b.N; i++ {
|
|
Float32(valueBytes)
|
|
}
|
|
}
|
|
|
|
func Benchmark_Bytes_To_Float64(b *testing.B) {
|
|
for i := 0; i < b.N; i++ {
|
|
Float64(valueBytes)
|
|
}
|
|
}
|
|
|
|
func Benchmark_Bytes_To_Time(b *testing.B) {
|
|
for i := 0; i < b.N; i++ {
|
|
Time(valueBytes)
|
|
}
|
|
}
|
|
|
|
func Benchmark_Bytes_To_TimeDuration(b *testing.B) {
|
|
for i := 0; i < b.N; i++ {
|
|
Duration(valueBytes)
|
|
}
|
|
}
|
|
|
|
func Benchmark_Bytes_To_Bytes(b *testing.B) {
|
|
for i := 0; i < b.N; i++ {
|
|
Bytes(valueBytes)
|
|
}
|
|
}
|
|
|
|
func Benchmark_Bytes_To_Strings(b *testing.B) {
|
|
for i := 0; i < b.N; i++ {
|
|
Strings(valueBytes)
|
|
}
|
|
}
|
|
|
|
func Benchmark_Bytes_To_Ints(b *testing.B) {
|
|
for i := 0; i < b.N; i++ {
|
|
Ints(valueBytes)
|
|
}
|
|
}
|
|
|
|
func Benchmark_Bytes_To_Floats(b *testing.B) {
|
|
for i := 0; i < b.N; i++ {
|
|
Floats(valueBytes)
|
|
}
|
|
}
|
|
|
|
func Benchmark_Bytes_To_Interfaces(b *testing.B) {
|
|
for i := 0; i < b.N; i++ {
|
|
Interfaces(valueBytes)
|
|
}
|
|
}
|