zoukankan      html  css  js  c++  java
  • 压测 正则 性能分析

    main.go
    package main

    import (
    "fmt"
    "regexp"
    "strings"
    )

    var path = "http://qq.pinyin.cn/?BizName=a123&BizStatus=b456&Test=qwer"

    func Calculate1() (ret string) {
    f := "[?&]{1}BizName=\w{0,}[?&]{1}"
    reg := regexp.MustCompile(f)
    ret = reg.FindString(path)
    ret = strings.Replace(ret, "&", "", -1)
    ret = strings.Replace(ret, "BizName=", "", -1)
    return
    }

    func Calculate2() (ret string) {
    sli := strings.Split(path, "BizName=")
    ret = sli[1]
    ret = strings.Replace(ret, "&", "", -1)
    return
    }

    func main() {

    fmt.Println("main")
    }
    main_test.go

    package main

    import "testing"

    func BenchmarkCalculate1(b *testing.B) {
    for i := 0; i < b.N; i++ {
    Calculate1()
    }
    }
    func BenchmarkCalculate2(b *testing.B) {
    for i := 0; i < b.N; i++ {
    Calculate2()
    }
    }

    test@a:~/gokit/tregexp$ go test -bench=.
    goos: linux
    goarch: amd64
    pkg: t
    cpu: AMD Ryzen 5 3600 6-Core Processor
    BenchmarkCalculate1 283473 3962 ns/op
    BenchmarkCalculate2 7610416 165.6 ns/op
    PASS
    ok t 2.591s
    test@a:~/gokit/tregexp$

  • 相关阅读:
    第二次结对编程作业
    团队项目-需求分析报告
    Beta阶段第四次会议
    Beta阶段第三次会议
    Beta阶段第二次会议
    Beta阶段第一次会议
    Beta设计和计划
    项目展示
    事后分析
    α版本发布说明
  • 原文地址:https://www.cnblogs.com/rsapaper/p/14734614.html
Copyright © 2011-2022 走看看