Playing with terribly benchmarks
This commit is contained in:
parent
813388c32c
commit
c93d1cd4f0
63
argh_test.go
Normal file
63
argh_test.go
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
package argh_test
|
||||||
|
|
||||||
|
import (
|
||||||
|
"flag"
|
||||||
|
"fmt"
|
||||||
|
"testing"
|
||||||
|
"time"
|
||||||
|
|
||||||
|
"git.meatballhat.com/x/argh"
|
||||||
|
)
|
||||||
|
|
||||||
|
func BenchmarkStdlibFlag(b *testing.B) {
|
||||||
|
for i := 0; i < b.N; i++ {
|
||||||
|
func() {
|
||||||
|
fl := flag.NewFlagSet("bench", flag.PanicOnError)
|
||||||
|
okFlag := fl.Bool("ok", false, "")
|
||||||
|
durFlag := fl.Duration("dur", time.Second, "")
|
||||||
|
f64Flag := fl.Float64("f64", float64(42.0), "")
|
||||||
|
iFlag := fl.Int("i", -11, "")
|
||||||
|
i64Flag := fl.Int64("i64", -111111111111, "")
|
||||||
|
sFlag := fl.String("s", "hello", "")
|
||||||
|
uFlag := fl.Uint("u", 11, "")
|
||||||
|
u64Flag := fl.Uint64("u64", 11111111111111111111, "")
|
||||||
|
|
||||||
|
_ = fl.Parse([]string{})
|
||||||
|
_ = fmt.Sprint(
|
||||||
|
"fl", fl,
|
||||||
|
"okFlag", *okFlag,
|
||||||
|
"durFlag", *durFlag,
|
||||||
|
"f64Flag", *f64Flag,
|
||||||
|
"iFlag", *iFlag,
|
||||||
|
"i64Flag", *i64Flag,
|
||||||
|
"sFlag", *sFlag,
|
||||||
|
"uFlag", *uFlag,
|
||||||
|
"u64Flag", *u64Flag,
|
||||||
|
)
|
||||||
|
}()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func BenchmarkArgh(b *testing.B) {
|
||||||
|
for i := 0; i < b.N; i++ {
|
||||||
|
func() {
|
||||||
|
pCfg := argh.NewParserConfig()
|
||||||
|
pCfg.Prog = &argh.CommandConfig{
|
||||||
|
Flags: &argh.Flags{
|
||||||
|
Map: map[string]argh.FlagConfig{
|
||||||
|
"ok": {},
|
||||||
|
"dur": {},
|
||||||
|
"f64": {},
|
||||||
|
"i": {},
|
||||||
|
"i64": {},
|
||||||
|
"s": {},
|
||||||
|
"u": {},
|
||||||
|
"u64": {},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
_, _ = argh.ParseArgs([]string{}, pCfg)
|
||||||
|
}()
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user