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

企业网站开发实训目的网络平台推广

企业网站开发实训目的,网络平台推广,乐清做网站建设公司,WordPress关于页面代码原生标准库在文件量过大时效率和内存均表现不好 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.dt0577.cn/news/10666.html

相关文章:

  • 北京网站sem、seo湖北网站推广
  • 南昌网站搜索排名关键词营销推广
  • 北京小程序制作公司论坛seo设置
  • 制作一个网站需要多长时间网络公司关键词排名
  • 秦皇岛做网站网络推广产品公司
  • 小型crm系统什么是seo什么是sem
  • 网址导航网站制作工具seo是什么意思seo是什么职位
  • 武汉网站建设网站郑州网络推广效果
  • 小网站开发成本google浏览器下载安装
  • 江阴市建设局网站济南公司网站推广优化最大的
  • 河口企业网站开发公司百度搜索排名优化
  • 海口建站模板系统app广告联盟
  • 做馋嘴小栈官方网站seo外包 杭州
  • 安庆做网站的公司北京百度竞价
  • 北京微信网站建设百度官网首页网址
  • 怎么在百度创建网站微信营销模式有哪些
  • 开元棋牌网站怎么做seo网站排名优化教程
  • 基于网站的app开发万网域名查询官网
  • 韩国什么网站是专做皮草的肥城市区seo关键词排名
  • 湖北省建设用地预审网站正规seo大概多少钱
  • 网站建设要多少钱高级搜索引擎技巧
  • 视频网站费用企业培训公司
  • 无锡做网站要多少钱常见的营销方式有哪些
  • 如何把网站做的和别人一样吗青岛网站优化公司哪家好
  • 建站之星登录郑州网站seo推广
  • 网站开发+自动生成缩略图谷歌广告联盟怎么做
  • 有没有装修做团购的网站今日最新国内新闻
  • 沈阳专业网站制作软文广告经典案例300大全
  • 常州营销网站建设涟源网站seo
  • 做下载网站挣钱吗抖音优化是什么意思