diff --git a/cc-metric-store.go b/cc-metric-store.go index f77457d..d514d94 100644 --- a/cc-metric-store.go +++ b/cc-metric-store.go @@ -9,6 +9,8 @@ import ( "log" "os" "os/signal" + "runtime" + "runtime/debug" "sync" "syscall" "time" @@ -240,6 +242,8 @@ func main() { log.Printf("Checkpoints loaded (%d files, that took %dms)\n", files, time.Since(startupTime).Milliseconds()) } + runtime.GC() + debug.SetGCPercent(20) ctx, shutdown := context.WithCancel(context.Background()) var wg sync.WaitGroup diff --git a/float.go b/float.go index 2d70276..43c8eba 100644 --- a/float.go +++ b/float.go @@ -23,7 +23,7 @@ func (f Float) MarshalJSON() ([]byte, error) { return nullAsBytes, nil } - return strconv.AppendFloat(make([]byte, 0, 10), float64(f), 'f', 1, 32), nil + return strconv.AppendFloat(make([]byte, 0, 10), float64(f), 'f', -1, 64), nil } func (f *Float) UnmarshalJSON(input []byte) error { @@ -54,7 +54,7 @@ func (fa FloatArray) MarshalJSON() ([]byte, error) { if fa[i].IsNaN() { buf = append(buf, `null`...) } else { - buf = strconv.AppendFloat(buf, float64(fa[i]), 'f', 1, 32) + buf = strconv.AppendFloat(buf, float64(fa[i]), 'f', -1, 64) } }