From 8910d1c3a4bda5c97c50bc38543953f1f1e1f8bb Mon Sep 17 00:00:00 2001 From: Eric Rykwalder Date: Sat, 18 Apr 2015 11:33:27 +0200 Subject: [PATCH] Speed up encoding for int64, float64, and bool --- encode.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/encode.go b/encode.go index d757b256..ad5f9683 100644 --- a/encode.go +++ b/encode.go @@ -17,9 +17,9 @@ import ( func encode(parameterStatus *parameterStatus, x interface{}, pgtypOid oid.Oid) []byte { switch v := x.(type) { case int64: - return []byte(fmt.Sprintf("%d", v)) + return strconv.AppendInt(nil, v, 10) case float64: - return []byte(fmt.Sprintf("%.17f", v)) + return strconv.AppendFloat(nil, v, 'f', -1, 64) case []byte: if pgtypOid == oid.T_bytea { return encodeBytea(parameterStatus.serverVersion, v) @@ -33,7 +33,7 @@ func encode(parameterStatus *parameterStatus, x interface{}, pgtypOid oid.Oid) [ return []byte(v) case bool: - return []byte(fmt.Sprintf("%t", v)) + return strconv.AppendBool(nil, v) case time.Time: return formatTs(v)