aboutsummaryrefslogtreecommitdiff
path: root/src/encoding/csv/writer_test.go
diff options
context:
space:
mode:
authorAlex Gaynor <alex@alloy.us>2020-04-28 01:18:29 +0000
committerIan Lance Taylor <iant@golang.org>2020-05-05 23:57:19 +0000
commitd75ee813b50e1ff2fec72d501b7b77bc868a3228 (patch)
tree1177373575a52fa12d22518593e08a2ee7f8796f /src/encoding/csv/writer_test.go
parent7db566f9c26236f852fa0f980e6c4e8cf86890f3 (diff)
downloadgo-d75ee813b50e1ff2fec72d501b7b77bc868a3228.tar.xz
encoding/csv: optimize Write by giving fieldNeedsQuotes a fast path for when Comma is ascii
name old time/op new time/op delta Write-4 2.37µs ±20% 1.90µs ±19% -19.54% (p=0.015 n=6+6) Change-Id: Iadfd9a43c958704c49ceb540b44d145220f9a72f GitHub-Last-Rev: e7d8b0bd69870a24fdd800401d721e4c5bda7750 GitHub-Pull-Request: golang/go#34507 Reviewed-on: https://go-review.googlesource.com/c/go/+/197078 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
Diffstat (limited to 'src/encoding/csv/writer_test.go')
-rw-r--r--src/encoding/csv/writer_test.go17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/encoding/csv/writer_test.go b/src/encoding/csv/writer_test.go
index 011f01c172..ab28b0d7c3 100644
--- a/src/encoding/csv/writer_test.go
+++ b/src/encoding/csv/writer_test.go
@@ -93,3 +93,20 @@ func TestError(t *testing.T) {
t.Error("Error should not be nil")
}
}
+
+var benchmarkWriteData = [][]string{
+ {"abc", "def", "12356", "1234567890987654311234432141542132"},
+ {"abc", "def", "12356", "1234567890987654311234432141542132"},
+ {"abc", "def", "12356", "1234567890987654311234432141542132"},
+}
+
+func BenchmarkWrite(b *testing.B) {
+ for i := 0; i < b.N; i++ {
+ w := NewWriter(&bytes.Buffer{})
+ err := w.WriteAll(benchmarkWriteData)
+ if err != nil {
+ b.Fatal(err)
+ }
+ w.Flush()
+ }
+}