Advertisement
Guest User

Untitled

a guest
Oct 10th, 2015
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.71 KB | None | 0 0
  1. package main
  2.  
  3. import (
  4. "bytes"
  5. "strings"
  6. "testing"
  7. )
  8.  
  9. func nHellos(n int) []string {
  10. ss := make([]string, n)
  11. for i := range ss {
  12. ss[i] = "hello"
  13. }
  14. return ss
  15. }
  16.  
  17. func BenchmarkConcat(b *testing.B) {
  18. for i := 0; i < b.N; i++ {
  19. c := ""
  20. for _, s := range nHellos(i) {
  21. c = c + s
  22. }
  23. }
  24. }
  25.  
  26. func BenchmarkWriteString(b *testing.B) {
  27. for i := 0; i < b.N; i++ {
  28. var buffer bytes.Buffer
  29. for _, s := range nHellos(i) {
  30. buffer.WriteString(s)
  31. }
  32. buffer.String()
  33. }
  34. }
  35.  
  36. func BenchmarkJoin(b *testing.B) {
  37. for i := 0; i < b.N; i++ {
  38. strings.Join(nHellos(i), "")
  39. }
  40. }
  41.  
  42. func BenchmarkCopy(b *testing.B) {
  43. for i := 0; i < b.N; i++ {
  44. c := make([]byte, 0)
  45. for _, s := range nHellos(i) {
  46. copy(c, s)
  47. }
  48. }
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement