Very interesting observation, Gergely.  If it is true, like you said, then
probably Ruby internal implementation in C can further be optimized.  (We 
deal with this kind of issue all the time in C++, don't we?  I mean,
isn't that the "+" operator and the "+=" operator invoke two different
functions in C++?)

Regards,

Bill
==========================================================================
Kontra, Gergely <kgergely / mlabdial.hit.bme.hu> wrote:
>>3) 'x+=b', 'x*=b' and other assignment operators is internally translated
>>into 'x=x+b' and so on, so these operators assign to x reference to
>>newly created object

> If this is true, a+=1 creates a new object. Can't it be avoided?