Playing with terribly benchmarks

urfave-cli-integration
Dan Buch 2 years ago
parent 813388c32c
commit c93d1cd4f0
Signed by: meatballhat
GPG Key ID: A12F782281063434

@ -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…
Cancel
Save