当前位置: 首页 > news >正文

阿里企业网站建设评估商丘市网站建设推广

阿里企业网站建设评估,商丘市网站建设推广,营销网站建设计划书,潍坊百度网站快速排名原生标准库在文件量过大时效率和内存均表现不好 1400万文件遍历Filepath.Walk 1400万文件重写直接调用windows api并处理细节 结论 1400万文件遍历时对比 对比条目filepath.walkwindows api并触发黑科技运行时间710秒22秒内存占用480M38M 关键代码 //超级快的文件遍历 fun…

原生标准库在文件量过大时效率和内存均表现不好

1400万文件遍历Filepath.Walk

在这里插入图片描述

1400万文件重写直接调用windows api并处理细节

在这里插入图片描述

结论

1400万文件遍历时对比

对比条目filepath.walkwindows api并触发黑科技
运行时间710秒22秒
内存占用480M38M

关键代码

//超级快的文件遍历
func FindFileWin(dir string, callbackfunc MyFindFileCallBack) {dir = dir + `\`finstruct := win.WIN32_FIND_DATAW{}handle := win.FindFirstFileW(dir+`*`, &finstruct)if win.IsInvalidHandle(handle) {for {//文件夾if (finstruct.DwFileAttributes & win.FILE_ATTRIBUTE_DIRECTORY) != 0 {if (finstruct.CfileNameGo != "..") && (finstruct.CfileNameGo != ".") {FindFileWin(dir+finstruct.CfileNameGo, callbackfunc)}} else {callbackfunc(dir + finstruct.CfileNameGo)}if win.FindNextFileW(handle, &finstruct) == 0 {break}}}
}
var (kernel32           = syscall.NewLazyDLL("Kernel32.dll")procCreateFileW    = kernel32.NewProc("CreateFileW")procOpenEventW     = kernel32.NewProc("OpenEventW")procSetEvent       = kernel32.NewProc("SetEvent")procFindFirstFileW = kernel32.NewProc("FindFirstFileW")procFindNextFileW  = kernel32.NewProc("FindNextFileW")//procCreateFileA = kernel32.NewProc("CreateFileA")
)func FindFirstFileW(fileName string, lpFindFileData *WIN32_FIND_DATAW) HANDLE {strname := unsafe.Pointer(syscall.StringToUTF16Ptr(fileName))handle, _, _ := procFindFirstFileW.Call(uintptr(strname),uintptr(unsafe.Pointer(lpFindFileData)),)if handle != 0 {lpFindFileData.CfileNameGo = syscall.UTF16ToString(lpFindFileData.cFileName[:])}return HANDLE(handle)
}
func IsInvalidHandle(handle HANDLE) bool {if handle != 0 && int(handle) != -1 {return true}return false
}
func FindNextFileW(hFindFile HANDLE, lpFindFileData *WIN32_FIND_DATAW) BOOL {ret, _, _ := procFindNextFileW.Call(uintptr(hFindFile),uintptr(unsafe.Pointer(lpFindFileData)),)if ret != 0 {lpFindFileData.CfileNameGo = syscall.UTF16ToString(lpFindFileData.cFileName[:])}return BOOL(ret)
}
http://www.yayakq.cn/news/796014/

相关文章:

  • 网站备案信息加到哪里站长推荐产品
  • 免费做调查的网站网站流量好难做
  • 新网站建设的工作电子商务网站和普通网站的区别
  • 广州白云学校网站建设上海建筑工程招投标网
  • 浙江省建设厅信息中心网站自己做的网站提示不安全吗
  • 深圳网站营销公司简介网站建设丶金手指下拉13
  • 网站建设加盟模式网络推广软文范文
  • 杭州网站建设优化推广微信小程序官方教程
  • 做模版的网站wordpress文章导入在哪里
  • 仓山区城乡建设局网站怎么把自己笔记本做服务器做个网站
  • 怎么在自己的网站上推广业务北京网站的建立的
  • 网站建设 微盘下载wordpress设置分类
  • wordpress自动存储图片seo搜狗
  • 网站关键词整体方案关键词seo排名优化如何
  • 优化志愿网站怎么做网站教程简单
  • html免费网站模板下载我要素材网网页设计素材
  • 学网站建设要多长时间太原建设局网站
  • 接网站建设外包的工作免费咨询怀孕医生
  • 西安网站建设动力无限家居网站建设哪家好
  • 赣州企业网站建设企业品牌网站营销
  • 视频网站制作教程视频手机网站转微信小程序
  • 中国建设银行云南省分行官方网站冷水滩互联网建设
  • 网wordpress站底部图片悬浮联通营业厅做网站维护
  • 专业网站建设维护是什么wordpress 搭建教程
  • 中国空间站组合体模块建站平台
  • 开封网站开发公司成都网站建设吧
  • 常州网站建设公司推荐世界建筑设计网站
  • 西青集团网站建设安徽建设部网站
  • 宁波鄞州区商用高端网站设计渝快办官网
  • 珠海cp网站建设网站设计小结