Categorygithub.com/vsapan/perf-go
repositorypackage
0.0.0-20241119031318-781440f6ae3a
Repository: https://github.com/vsapan/perf-go.git
Documentation: pkg.go.dev

# Packages

No description provided by the author

# README

perf-go

Benchmarks of different approaches for common problem in go

Run tests

make

Results (On my PC ;) )

Counter problem using sync.atomic versus sync.mutex

CounterTotalns/op
BenchmarkCounterAtomic-46981525618.02
BenchmarkCounterMutex-42476944246.93

Factorial recursive vs serial

FactorialTotalns/op
BenchmarkFactorialSerial/FactorialSerial-20-411308147210.46
BenchmarkFactorialSerial/FactorialRecursive-20-42757686740.32
BenchmarkFactorialParallel/FactorialSerial-20-42761910184.326
BenchmarkFactorialParallel/FactorialRecursive-20-47212396615.11

Fibonacci Classic vs DP

FibbonacciTotalns/op
BenchmarkFibonnaciSerial/FibonacciSumClassic-20-43194137669
BenchmarkFibonnaciSerial/FibonacciSumDP-20-45945706718.42
BenchmarkFibbonacciParallel-47505515622

Fizzbuzz three approaches

FizzBuzzTotalns/op
BenchmarkFizzBuzzSer/v1-1-42909793659
BenchmarkFizzBuzzSer/v2-1-42502165175
BenchmarkFizzBuzzSer/v3-1-42626714178
BenchmarkFizzBuzzPar/v1-1-45265551991
BenchmarkFizzBuzzPar/v2-1-44801202218
BenchmarkFizzBuzzPar/v3-1-44944322205

Check if number is prime, Three ways worst to best

Is PrimeTotalns/op
BenchmarkIsPrimeSerial/PrimeV1-1-45170278919.60
BenchmarkIsPrimeSerial/PrimeV2-1-44829646222.95
BenchmarkIsPrimeSerial/PrimeV3-1-47565993415.84
BenchmarkIsPrimeParallel-44988839421.62

JSON vs XML Vs ProtoBuf

JSON vs XMLTotalns/opmem/opalloc/op
BenchmarkToJSON-433288032141793
BenchmarkToXML-49957811726463211
BenchmarkFromJSON-416747071373127
BenchmarkFromXML-44671725749160834
BenchmarkParToXML-41908566110463211
BenchmarkParToJSON-471697917181793
BenchmarkParFromJSON-433683635183127
BenchmarkParFromXML-47474415033160834
BenchmarkToProto-46285468175.3802
BenchmarkFromProto-45491707211.5722
BenchmarkParToProto-410795147100.6802
BenchmarkParFromProto-49810102114.5722