美文网首页
golang拼接字符串性能测试

golang拼接字符串性能测试

作者: 10xjzheng | 来源:发表于2019-10-12 16:18 被阅读0次

直接下结论:
bufferTest > plusTest ~= JoinTest > sprintfTest
结果如下:

sprintfTest Run time:  3.4220012s
plusTest Run time:  2.1400019s
bufferTest Run time:  997.4µs
JoinTest Run time:  2.1810023s

贴代码:

package main

import (
    "bytes"
    "fmt"
    "strings"
    "time"
)

const number = 100000

func sprintfTest()  {
    var s string
    bT := time.Now()
    for i := 0; i < number; i++ {
        s = fmt.Sprintf("%s%s", s, "hello")
    }
    eT := time.Since(bT)
    fmt.Println("sprintfTest Run time: ", eT)
}

func plusTest()  {
    s := ""
    bT := time.Now()
    for i := 0; i < number; i++ {
        s = s + "hello"
    }
    eT := time.Since(bT)
    fmt.Println("plusTest Run time: ", eT)
}


func bufferTest()  {
    var s bytes.Buffer
    bT := time.Now()
    for i := 0; i < number; i++ {
        s.WriteString("hello")
    }
    eT := time.Since(bT)
    fmt.Println("bufferTest Run time: ", eT)
}

func JoinTest()  {
    s := ""
    bT := time.Now()
    for i := 0; i < number; i++ {
        s = strings.Join([]string {s, "hello"}, "")
    }
    eT := time.Since(bT)
    fmt.Println("JoinTest Run time: ", eT)
}


func main() {
    sprintfTest()
    plusTest()
    bufferTest()
    JoinTest()
}

相关文章

  • golang拼接字符串性能测试

    直接下结论:bufferTest > plusTest ~= JoinTest > sprintfTest结果如下...

  • golang 几种字符串的连接方式

    最近在做性能优化,有个函数里面的耗时特别长,看里面的操作大多是一些字符串拼接的操作,而字符串拼接在 golang ...

  • go 实现 implode 方法

    impolde 方法是 php 中常用的字符串拼接方法, 在golang 中也有字符串拼接的函数: 此函数与imp...

  • golang基准测试Benchmark和Jmeter压测实践

    golang的性能测试Benchmark go test 自带有三种测试: 功能测试(单元测试) 基准测试 (性能...

  • 日志、字符串拼接

    关于字符串拼接效率: 单词调用字符串拼接性能 + > strings.Join > bytes.Buffer > ...

  • go语言string之Buffer与Builder

    操作字符串离不开字符串的拼接,但是Go中string是只读类型,大量字符串的拼接会造成性能问题。 字符串拼接的方式...

  • 字符串

    一、字符串格式化 String.format()的使用 二、字符串拼接 字符串拼接性能比较 三、日志打印效率 使用...

  • go字符串拼接与性能分析

    字符串拼接在golang中是非常常见的操作,本文介绍几种常用方法并分析各种方法的效率. 拼接 + 号拼接 + 号拼...

  • C# string 拼接操作性能测试

    一、C# 拼接字符串的几种方式和性能 对于少量固定的字符串拼接,如string s= "a" + "b" + "c...

  • 快排和堆排性能对比

    之前经常使用golang测试框架中的单元测试,一直没用性能测试,今天想熟悉一下golang的Benchmark顺便...

网友评论

      本文标题:golang拼接字符串性能测试

      本文链接:https://www.haomeiwen.com/subject/wwoqmctx.html