zoukankan      html  css  js  c++  java
  • golang的写文件测试

    package main
     
    import (
        "os"
        "strings"
        "time"
        "fmt"
        "strconv"
    )    
    
    
    //耗时统计函数
    func timeCost() func() {
        start := time.Now()
        return func() {
            tc := time.Since(start)
            fmt.Printf("time cost = %v
    ", tc)
        }
    }
    
    func sum(n int, fd *os.File)  {
        defer timeCost()()        //注意,是对 timeCost()返回的函数进行调用,因此需要加两对小括号
    
        for i:=1; i <= n; i++ {
            stri := strconv.Itoa(i)
               content := "写入的文件内容" + stri
            fd_time := time.Now().Format("2006-01-02 15:04:05")
            fd_content := strings.Join([]string{"======",fd_time,"=====",content,"
    "},"")
            buf := []byte(fd_content)
              fd.Write(buf)
      }
    }
    
    func main() {
        fd , _ := os.OpenFile("xyz2.txt",os.O_RDWR|os.O_CREATE|os.O_APPEND,0644)
        sum(10000,fd)
        fd.Close()
    }

    压测1w条记录,append追加写文件的耗费时间. 

  • 相关阅读:
    sudo配置临时取得root权限
    Linux 前台 和 后台进程 说明
    延迟加载
    事件代理
    字符串方法总结
    javascript
    HTML
    通用样式,如清除浮动
    html脱离文档流事件
    经典容易忽略的行内块
  • 原文地址:https://www.cnblogs.com/unqiang/p/11947240.html
Copyright © 2011-2022 走看看