这个问题是在采访中问道。什么是找到最好的方法“中的”从有30K行的文件?你应该确保它是速度快,需要更少的内存。
编辑1:我说的是有效的方式来处理文件。我回答他阅读在使用线程它的线程池时间和处理器一行。
很难说“最好”的解决方案是什么,如果there's给出如何最好定义没有进一步的标准。有可能
cat file.txt | nl | grep "the"
如果我们的目标是投资最少程序员小时。正如评论已经指出的瓶颈将是磁盘访问所需要的时间。 30k的行的文件大小应仍低于10 MB所以刚读它一个内存块,以避免额外的磁盘读取。然后做一个单线程搜索一些剖析,以检查它是否值得利用并行的努力,因为这也附带了一些开销线程产卵和协调,提高代码的维护成本。