ruby代码性能的探讨(抛砖引玉)

高级语言发展已有几十年了,但到今天也没有淘汰掉C.,甚至汇编,其主要原因之一就是高级语言在很多方面都是以牺牲性能为代价的.
ruby是很高级,更加的人性化,但是如果用之不慎,性能会急剧下降.因此,学习ruby,除了要学习基本语法,编程方法外,也要对不同的代码实现的性能进行分析,取舍.
举个例子,Array(String)类中有个<<方法,实现添加新元素.众如周知,C中的数组是定长的,而Cphp?name=Ruby" onclick="tagshow(event)" class="t_tag">Ruby使用的是C写的ruby解释器,那么如何实现动态添加数组元素了?--重新分配空间(ruby源码中可以找到原始语句).
因此,如果你的程序中大量使用到<<来为Array(String)添加内容,那么会带来一定的开销,而在写程序时,如果你已基本确定所需数组的大小,那么不妨可以先一次性申请好这么多元素空间的Array(String),那么会避免这个开销,当然它同时也带来一个问题,那就是在还没用到这么多空间时,这些已分配好的空间实际上是处于"无用(浪费)"状态.这就要看你的业务而去取舍了.

希望能起到抛砖引玉的作用,欢迎大家一起讨论,总结.