From: Yukihiro Matsumoto Date: 2009-03-09T21:15:48+09:00 Subject: [ruby-core:22782] Re: [Bug #1255] += for large strings egrigiously slow Hi, In message "Re: [ruby-core:22775] [Bug #1255] += for large strings egrigiously slow" on Mon, 9 Mar 2009 14:16:56 +0900, James Lee writes: |Regardless of all of the above, I hope we can all agree that an unnecessary copy of a large amount of data is a waste of resources. If it can be determined that the copy is unnecessary in the place where memory management occurs, I think it makes more sense to make the decision there, Your statement makes sense iff the cost of detecting the number of reference to the receiver is modest. The truth is otherwise. Even though it might look like things are easier in reference counting (which Ruby does not use), the recent state-of-the-art reference deferes reference count updating so that the count is not always accurate. matz.