比较同一个程序的c实现和java实现的速度及内存
RT
现在在改造一个c程序, 用java去实现
客户比较担心处理速度和内存问题
请教下如何比较?
(1. 处理速度 2.内存)
------解决方案--------------------要看是什么程序。
如果是CPU密集型程序,比如压缩解压,当然C的效率较高了。
除此之外,基本没啥问题。
有些汽车制造的流水线,也用Java的程序来控制呢,只要开发过程中严谨把关,
对数据的处理格外注重效率,基本没什么可以担忧的。
内存一般不会成为问题,因为,C语言也会面临内存泄露的风险,
没有非常完美的程序,只有非常粗心的程序员,除此之外,内存不是问题。
------解决方案--------------------在比较之前,很有必要先看看这篇文章:http://www.ibm.com/developerworks/cn/java/j-jtp12214/
------解决方案--------------------这种比较,永远是公说公有理,婆说婆有理,测试数据也可以按需调整。
http://www.drdobbs.com/cpp/microbenchmarking-c-c-and-java/184401976
http://scribblethink.org/Computer/javaCbenchmark.html
http://trs-new.jpl.nasa.gov/dspace/bitstream/2014/18351/1/99-1827.pdf
以上这几篇都是偏向Java的。
------解决方案--------------------语言本身的特性固然重要,但是人依然会是主导因素。
------解决方案--------------------费内存是肯定的了,这个不用听别人忽悠+扯淡,肯定多费很多内存。
速度一般也肯定是要慢的了,你就慢慢测试吧。这个速度看你系统的规模和类型。
如果你是一个从C改到Java的代码,不用说,代码量不会太大,那你的结果必然是慢。
但是不用担心,足够快就OK了。