refactoring bytesPool
Vladimir Bauer
3 years ago
| 22 | 22 |
}
|
| 23 | 23 |
}
|
| 24 | 24 |
|
| 25 | |
p := bytePool.Get().(*[]byte)
|
|
25 |
p := bytesPool.Get().(*[]byte)
|
| 26 | 26 |
b := strconv.AppendFloat(*p, float64(s), 'f', prec, 64)
|
| 27 | 27 |
if st.Flag(' ') {
|
| 28 | 28 |
b = append(b, ' ', '%')
|
|
| 33 | 33 |
if err != nil {
|
| 34 | 34 |
panic(err)
|
| 35 | 35 |
}
|
| 36 | |
bytePool.Put(p)
|
|
36 |
bytesPool.Put(p)
|
| 37 | 37 |
}
|
| 38 | 38 |
|
| 39 | 39 |
// Percentage returns percentage decorator. It's a wrapper of NewPercentage.
|
| 1 | 1 |
|
| 2 | 2 |
import "sync"
|
| 3 | 3 |
|
| 4 | |
var bytePool = sync.Pool{
|
|
4 |
var bytesPool = sync.Pool{
|
| 5 | 5 |
New: func() interface{} {
|
| 6 | 6 |
b := make([]byte, 0, 16)
|
| 7 | 7 |
return &b
|
| 48 | 48 |
unit = _iTiB
|
| 49 | 49 |
}
|
| 50 | 50 |
|
| 51 | |
p := bytePool.Get().(*[]byte)
|
|
51 |
p := bytesPool.Get().(*[]byte)
|
| 52 | 52 |
b := strconv.AppendFloat(*p, float64(self)/float64(unit), 'f', prec, 64)
|
| 53 | 53 |
if st.Flag(' ') {
|
| 54 | 54 |
b = append(b, ' ')
|
|
| 58 | 58 |
if err != nil {
|
| 59 | 59 |
panic(err)
|
| 60 | 60 |
}
|
| 61 | |
bytePool.Put(p)
|
|
61 |
bytesPool.Put(p)
|
| 62 | 62 |
}
|
| 63 | 63 |
|
| 64 | 64 |
const (
|
|
| 102 | 102 |
unit = _TB
|
| 103 | 103 |
}
|
| 104 | 104 |
|
| 105 | |
p := bytePool.Get().(*[]byte)
|
|
105 |
p := bytesPool.Get().(*[]byte)
|
| 106 | 106 |
b := strconv.AppendFloat(*p, float64(self)/float64(unit), 'f', prec, 64)
|
| 107 | 107 |
if st.Flag(' ') {
|
| 108 | 108 |
b = append(b, ' ')
|
|
| 112 | 112 |
if err != nil {
|
| 113 | 113 |
panic(err)
|
| 114 | 114 |
}
|
| 115 | |
bytePool.Put(p)
|
|
115 |
bytesPool.Put(p)
|
| 116 | 116 |
}
|