·

应该是哪里 IO 耗时过大了,不要循环太多次,先试试 100 次,打时间戳统计各个步骤耗时:

import time
print(time.time_ns())

调试出具体耗时长的语句。

Replies
2

有做过耗时检测的调试,最后结果可以说是随着运行时间的增加耗时增长,也确实刚开始运行的时候数据处理速度还是比较快,眨眼可见的进度。

但是到现在为止运行了快30个小时了,从资源占用的情况来看,并没有爆内存,因数据体量的区别稳定占用在1-2G,cpu也只占用了30%左右。

我好像意识到了个问题

func Save2Excel(sheetName string, v interface{}, lineNum int) (r error) {
    err := excelFile.SetSheetRow(sheetName, "A"+strconv.Itoa(lineNum+1), v)
    excelFile.Save()
    if err != nil {
        fmt.Println(v)
    }
    return err
}

excelFile.Save()好家伙我这是每存一行数据就保存了一次...IO该不会卡在这里了吧 cold_sweat