...
1# Benchmarks
2
3## Name mangling utilities
4
5```bash
6go test -bench XXX -run XXX -benchtime 30s
7```
8
9### Benchmarks at b3e7a5386f996177e4808f11acb2aa93a0f660df
10
11```
12goos: linux
13goarch: amd64
14pkg: github.com/go-openapi/swag
15cpu: Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz
16BenchmarkToXXXName/ToGoName-4 862623 44101 ns/op 10450 B/op 732 allocs/op
17BenchmarkToXXXName/ToVarName-4 853656 40728 ns/op 10468 B/op 734 allocs/op
18BenchmarkToXXXName/ToFileName-4 1268312 27813 ns/op 9785 B/op 617 allocs/op
19BenchmarkToXXXName/ToCommandName-4 1276322 27903 ns/op 9785 B/op 617 allocs/op
20BenchmarkToXXXName/ToHumanNameLower-4 895334 40354 ns/op 10472 B/op 731 allocs/op
21BenchmarkToXXXName/ToHumanNameTitle-4 882441 40678 ns/op 10566 B/op 749 allocs/op
22```
23
24### Benchmarks after PR #79
25
26~ x10 performance improvement and ~ /100 memory allocations.
27
28```
29goos: linux
30goarch: amd64
31pkg: github.com/go-openapi/swag
32cpu: Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz
33BenchmarkToXXXName/ToGoName-4 9595830 3991 ns/op 42 B/op 5 allocs/op
34BenchmarkToXXXName/ToVarName-4 9194276 3984 ns/op 62 B/op 7 allocs/op
35BenchmarkToXXXName/ToFileName-4 17002711 2123 ns/op 147 B/op 7 allocs/op
36BenchmarkToXXXName/ToCommandName-4 16772926 2111 ns/op 147 B/op 7 allocs/op
37BenchmarkToXXXName/ToHumanNameLower-4 9788331 3749 ns/op 92 B/op 6 allocs/op
38BenchmarkToXXXName/ToHumanNameTitle-4 9188260 3941 ns/op 104 B/op 6 allocs/op
39```
40
41```
42goos: linux
43goarch: amd64
44pkg: github.com/go-openapi/swag
45cpu: AMD Ryzen 7 5800X 8-Core Processor
46BenchmarkToXXXName/ToGoName-16 18527378 1972 ns/op 42 B/op 5 allocs/op
47BenchmarkToXXXName/ToVarName-16 15552692 2093 ns/op 62 B/op 7 allocs/op
48BenchmarkToXXXName/ToFileName-16 32161176 1117 ns/op 147 B/op 7 allocs/op
49BenchmarkToXXXName/ToCommandName-16 32256634 1137 ns/op 147 B/op 7 allocs/op
50BenchmarkToXXXName/ToHumanNameLower-16 18599661 1946 ns/op 92 B/op 6 allocs/op
51BenchmarkToXXXName/ToHumanNameTitle-16 17581353 2054 ns/op 105 B/op 6 allocs/op
52```
View as plain text