12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- package utilx
- import (
- "runtime"
- "testing"
- )
- func getCurrentMemoryUsage() uint64 {
- var m runtime.MemStats
- runtime.ReadMemStats(&m)
- return m.Alloc
- }
- func TestXlsx(t *testing.T) {
- // 获取当前内存使用量
- startMemory := getCurrentMemoryUsage()
- t.Logf("Start memory: %d MB", startMemory/1024/1024)
- data := make([][]interface{}, 0)
- line := []interface{}{
- "1",
- "线上订单",
- "XJ240429000560",
- "huishoubao:1714383615112",
- "-",
- "iPhone 11",
- "huishoubao:1.00元",
- "-",
- "",
- "BD",
- "-",
- "2024-04-29 17:40:15",
- "-",
- "-",
- "-",
- "-",
- "-",
- "-",
- "-",
- "-",
- "-",
- }
- for i := 0; i < 100000; i++ {
- data = append(data, line)
- }
- dataMemory := getCurrentMemoryUsage()
- t.Logf("Data memory: %d MB", dataMemory/1024/1024)
- file, err := XlsxV2(data, "订单列表.xlsx")
- xlsxMemory := getCurrentMemoryUsage()
- t.Logf("xlsx memory: %d MB", xlsxMemory/1024/1024)
- if err != nil {
- t.Errorf("Xlsx failed, err: %v", err)
- return
- }
- file.Path = "/Users/zhangyu/Downloads/xx.xlsx"
- _ = file.Save()
- // 再次获取内存使用量
- endMemory := getCurrentMemoryUsage()
- t.Logf("End memory: %d MB", endMemory/1024/1024)
- // 计算最终内存增长
- memoryGrowth := endMemory - startMemory
- t.Logf("Memory growth: %d MB", memoryGrowth/1024/1024)
- }
|