Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "bytes"
- "strings"
- "testing"
- )
- func nHellos(n int) []string {
- ss := make([]string, n)
- for i := range ss {
- ss[i] = "hello"
- }
- return ss
- }
- func BenchmarkConcat(b *testing.B) {
- for i := 0; i < b.N; i++ {
- c := ""
- for _, s := range nHellos(i) {
- c = c + s
- }
- }
- }
- func BenchmarkWriteString(b *testing.B) {
- for i := 0; i < b.N; i++ {
- var buffer bytes.Buffer
- for _, s := range nHellos(i) {
- buffer.WriteString(s)
- }
- buffer.String()
- }
- }
- func BenchmarkJoin(b *testing.B) {
- for i := 0; i < b.N; i++ {
- strings.Join(nHellos(i), "")
- }
- }
- func BenchmarkCopy(b *testing.B) {
- for i := 0; i < b.N; i++ {
- c := make([]byte, 0)
- for _, s := range nHellos(i) {
- copy(c, s)
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement