小编ale*_*lex的帖子

从磁盘读取10 GB文件的最快方法是什么?

我们需要读取和计算不同类型的消息/在10 GB文本文件上运行一些统计信息,例如FIX引擎日志.我们使用Linux,32位,4位CPU,英特尔,在Perl中编码,但语言并不重要.

我在Tim Bray的WideFinder项目中找到了一些有趣的提示 .但是,我们发现使用内存映射本质上受到32位架构的限制.

我们尝试使用多个进程,如果我们使用4个CPU上的4个进程并行处理文件,这似乎更快.添加多线程会降低速度,这可能是因为上下文切换的成本.我们尝试更改线程池的大小,但这仍然比简单的多进程版本慢.

内存映射部分不是很稳定,有时在2 GB文件上需要80秒,有时需要7秒,可能来自页面错误或与虚拟内存使用相关的内容.无论如何,Mmap在32位架构上无法扩展到4 GB以上.

我们尝试了Perl的IPC :: MmapSys :: Mmap.看看Map-Reduce也是如此,但问题实际上是I/O绑定,处理本身就足够快了.

所以我们决定尝试通过调整缓冲大小,类型等来优化基本I/O.

任何知道现有项目的人都可以在任何语言/平台上有效地解决这个问题,指向有用的链接或建议方向吗?

io perl performance mmap

11
推荐指数
1
解决办法
7196
查看次数

如何在AWS上设置无密码ssh

如何在AWS集群上的节点之间设置无密码ssh

ssh amazon-ec2

6
推荐指数
1
解决办法
1万
查看次数

通过wget获取内存并绕过磁盘写入

是否可以将网站内容 - 一组HTML页面 - 直接下载到内存而无需写入磁盘?

我有一组机器,每台机器都安装了24G,但我受限于磁盘配额到几百MB.我想将输出重定向wget到某种内存结构而不将内容存储在磁盘上.另一种选择是创建我自己的版本,wget但可能有一种简单的方法来管道

此外,并行运行此下载的最佳方法是什么(群集有> 20个节点).在这种情况下无法使用文件系统.

wget pipe ramdisk io-redirection

4
推荐指数
3
解决办法
2869
查看次数

使用按位运算符进行快速字符串搜索

使用按位运算符在非常长的字符串中查找子字符串的最快(并行?)方法是什么?

例如,在人类基因组中查找"GCAGCTGAAAACA"序列的所有位置http://hgdownload.cse.ucsc.edu/goldenPath/hg18/bigZips/hg18.2bit(770MB)

*字母表由4个符号组成('G','C',T,'A'),用2位表示:'G':00,'A':01,'T':10,'C':11

*您可以假设查询字符串(较短的字符串)的长度是固定的,例如127个字符

*最快我的意思是不包括任何预处理/索引时间

*文件将在预处理后加载到内存中,基本上会在更大的字符串中搜索数十亿个短字符串,全部在内存中.

*按位,因为我正在寻找最简单,最快速的方法来搜索大型阵列中的位模式,并尽可能保持与硅的接近.

*由于字母表很小,KMP不会很好用

*C代码,x86机器代码都很有趣.

输入格式说明(.2bit):http://jcomeau.freeshell.org/www/genome/2bitformat.html

有关:

扫描位流中位模式的最快方法

算法帮助!使用其伙伴搜索字符串的快速算法

http://www.arstdesign.com/articles/fastsearch.html

http://en.wikipedia.org/wiki/Bitap_algorithm

c string algorithm bit-manipulation bioinformatics

3
推荐指数
1
解决办法
2943
查看次数

Avro是否支持必填字段?

即是否可以使字段需要类似于ProtoBuf:

message SearchRequest { required string query = 1; }

avro

3
推荐指数
1
解决办法
2683
查看次数

JSON漂亮打印多行

哪个命令行实用程序可以漂亮打印具有多行的文件(每个行以json编码)

输入文件:msgs.json:

[1,{"6":7,"4":5}]
[2,{"6":7,"4":5}]
Run Code Online (Sandbox Code Playgroud)

似乎json.tool只能使用单个JSON消息

编辑:在下面的答案修改了json.tool以支持多个JSON消息

示例用法:

python myjson.py msgs.json
                    [
                        1,
                        {
                            "4": 5,
                            "6": 7
                        }
                    ]
                    [
                        2,
                        {
                            "4": 5,
                            "6": 7
                        }
                    ]
Run Code Online (Sandbox Code Playgroud)

python json

1
推荐指数
2
解决办法
5432
查看次数