对于1GB wc -l这样的大文件,它的运行速度很慢。我们是否有更快的方法来计算特定文件的换行数?
                  如果您怀疑
                
                  
                    —
                    墨菲(Murphy 
                    
                  
                
              wc有太多的开销,则可以尝试自己实现foreach byte in file: if byte == '\n': linecount++。如果用C或汇编程序实现,我认为它不会更快,除非在具有最高优先级的RTOS的内核空间中(甚至为此使用中断-您无法对系统做任何其他事情)。 ..好吧,我离题了;
                
                  只是为了了解扩展的规模,我快速浏览
                
                  
                    —
                    墨菲
                    
                  
                
              time wc -l some_movie.avi了一个未缓存的文件,结果为5172672 some_movie.avi -- real    0m57.768s -- user    0m0.255s -- sys     0m0.863s。基本上证明@thrig是正确的,在这种情况下,I / O会降低您的性能。
                
                  证明它是磁盘IO瓶颈的最佳方法
                
                  
                    —
                    AugustBitTony 
                    
                  
                
              time wc -l some_large_file_smaller_than_cache,快速连续执行两次,看看第二次操作有多快,然后time wc -l some_large_file_larger_than_cache看看两次运行之间的时间如何变化。对于此处的〜280MB文件,时间从1.7秒变为0.2秒,而对于2GB文件,则均为14秒。
                
                  多慢对您来说太慢了?怎么
                
                  
                    —
                    marcelm 
                    
                  
                
              /usr/bin/time wc -l <file>说?您的硬件是什么?重复运行命令会更快吗?我们真的需要更多信息;)
                
0x0A完整性,因此I / O无疑是瓶颈。