inconshreveable / log15

Structured, composable logging for Go
https://godoc.org/github.com/inconshreveable/log15
Other
1.1k stars 145 forks source link

use a buffer pool & don't allocate ints #85

Closed kevinburke closed 8 years ago

kevinburke commented 8 years ago

These don't make a huge difference on the benchmarks but I don't think they're that much less readable and potentially avoid some allocations.

$ benchcmp old2 new
benchmark                        old ns/op     new ns/op     delta
BenchmarkStreamNoCtx-4           4771          4771          +0.00%
BenchmarkDiscard-4               825           818           -0.85%
BenchmarkCallerFileHandler-4     1873          1867          -0.32%
BenchmarkCallerFuncHandler-4     1664          1651          -0.78%
BenchmarkLogfmtNoCtx-4           3623          3576          -1.30%
BenchmarkJsonNoCtx-4             1727          1632          -5.50%
BenchmarkMultiLevelFilter-4      959           848           -11.57%
BenchmarkDescendant1-4           845           833           -1.42%
BenchmarkDescendant2-4           846           848           +0.24%
BenchmarkDescendant4-4           922           920           -0.22%
BenchmarkDescendant8-4           985           970           -1.52%
kevinburke commented 8 years ago

This would break compatibility for go1.1 and go1.2

inconshreveable commented 8 years ago

actually, i'm okay only supporting Go1.3+. let's just change the travis.yml file to reflect that

kevinburke commented 8 years ago

e2466d5