Java教程

关于性能的一点小心得2

本文主要是介绍关于性能的一点小心得2,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

还是合并两本词典,和上次不同的是,其中一本体积很大,有几个G,担心内存可能不够,用文件来保存中间结果。性能当然一落千丈,这是意料之中的,I/O操作和内存操作没法比。但是,性能尽管差,也要尽量优化,控制在一个可接受的范围内。折腾了半天,最后在我2009年的老机器上运行了一个多小时处理完了,还算可以接受。

体会到几点:

1.字符串操作,如IndexOf,Substring都很费时间,尤其是当字符串比较大时(如几兆),应尽量避免。哪怕多读写几次文件,都比这种操作性能好。比如,与其读入一个很大的文件,然后在字符串里找东西,不如把大文件拆分成几个小文件,每个要找的东西存成一个文件。

2.一个文件夹下文件不宜过多。我的老机器上,一个文件夹下文件数量控制在2000个,感觉性能还行。

3.缓存可以提高性能,但是需要很小心,很容易出bug。而且,缓存的刷新也需要I/O操作,搞的不好,刷新过于频繁,比不用性能还差。

虽然主要是用文件保存中间结果,但也用了内存作为缓存,达到一定大小后再写到文件。到底用多少内存作为缓存比较合适,这个没有仔细调试,只是随便分配了几百兆而已。

这篇关于关于性能的一点小心得2的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!