topn:最多出现的网址的TopN

时间:2024-05-02 14:37:36
【文件属性】:

文件名称:topn:最多出现的网址的TopN

文件大小:14.13MB

文件格式:ZIP

更新时间:2024-05-02 14:37:36

C

介绍 一个简单的程序,用于计算无法直接加载到内存(1GB)的大文件(100GB)中最常出现的url的topn。 用法 生成测试数据 make data 使用1GB网址进行测试 make test 使用100GB网址运行 make run 算法 根据hash(url)将输入文件拆分为1009个小文件。 加载每个小文件,通过dict计算url的出现次数,然后通过堆获取topn出现次数。 合并步骤2中所有出现的topn事件,并获得最终的topn并进行打印。 复杂度分析 N是网址数。 NS是分割文件的数量,等于1009。K是我们想要的结果URL的数量,等于100。BS是缓冲区大小的大小,可能是4096或8192,请参见 步骤1 从输入文件读取或写入拆分文件的时间均为N / BS * T(disk io) , 哈希计算的时间为N * T(hash) , 因此时间复杂度为O(max(2 * N


【文件预览】:
topn-main
----urls.base.txt(54.94MB)
----README.md(5KB)
----Makefile(403B)
----gendata.sh(631B)
----wip()
--------time33module.c(669B)
--------uring.c(5KB)
--------setup.py(363B)
----.gitignore(2KB)
----performance()
--------scalene.txt(16KB)
----topn.py(2KB)

网友评论