标签: python shuffle pypy
问题:行洗牌一个包含n行的T太字节文本文件(同一行可以在文本文件中出现多次)给定Z TB的RAM,其中T = Z * 100.准混洗很好。
目前我正在使用this Python implementation,它执行准混乱,但它有点慢。算法是O(n)所以我认为缓慢是由Python引起的。我正考虑在C中重新实现它,但在此之前,我想知道是否有人知道现有的解决方案。
不起作用的东西:GNU shuf(将整个文件加载到内存中),GNU sort -R(散列每一行,因此相邻地输出相同的行)。
答案 0 :(得分:1)
我通过以下C ++实现解决了这个问题:https://github.com/alexandres/terashuf