Good point, what if I change to appending binary info?

str << 1

vs.

str << "1"

On May 27, 2010, at 15:37, Laurent Sansonetti wrote:

> Hi Jordan,
> 
> The perf suite is far to be completed but we will definitely cover most 
> String methods there at some point. In the meantime, your tests have some 
> side effects I'm afraid (literal strings in loops are object creations).
> 
> Laurent
> 
> On May 26, 2010, at 9:09 PM, Jordan Breeding wrote:
> 
>> Right now MacRuby is really quite slow for string operations, I noticed it a 
>> while back when doing large amounts of string creation, characters swapping, 
>> and pushing/popping strings into/out of a priority queue.
>> 
>> The attached file is a string performance test and here is a run on my 15" 
>> Core i7 MBP with ruby 1.9.1, jruby, and MacRuby:
>> 
>> Name                ruby 1.9.1p378      MacRuby version     jruby 1.5.0.RC1  
>>    
>> --------------------------------------------------------------------------------
>> array:<<            0.751082            1.168693            1.290000         
>>    
>> array:new           0.394997            1.917601            0.277000         
>>    
>> array:[]            0.324454            0.755054            0.472000         
>>    
>> array:[]=           1.691840            0.765225            0.822000         
>>    
>> hash:new            1.501595            4.563549            0.444000         
>>    
>> hash:[]             0.612701            1.051502            0.589000         
>>    
>> hash:[]=            2.012367            1.135856            0.902000         
>>    
>> ivar:get            0.215424            0.344873            1.087000         
>>    
>> ivar:set            1.349466            0.243909            1.902000         
>>    
>> ivar:attr_writer    1.245894            4.587488            0.655000         
>>    
>> ivar:attr_reader    1.045779            2.755303            0.482000         
>>    
>> loop:upto           1.211598            5.215169            0.874000         
>>    
>> loop:times          1.210781            5.215054            0.876000         
>>    
>> loop:while          0.599330            0.157019            0.937000         
>>    
>> loop:for            1.442154            0.811875            1.132000         
>>    
>> method:args         0.728248            0.682097            1.434000         
>>    
>> method:noarg        0.822463            0.578383            0.837000         
>>    
>> method:splat        0.478610            1.805760            0.227000         
>>    
>> method:empty        0.807405            0.527851            1.062000         
>>    
>> method:opt          1.027146            2.579715            0.944000         
>>    
>> misc:ao_bench       7.838053            8.529954            3.248000         
>>    
>> misc:sudoku         1.740196            2.172581            2.461000         
>>    
>> misc:tak            1.277399            0.155534            1.563000         
>>    
>> misc:mandelbrot     2.956319            0.124588            0.854000         
>>    
>> misc:fib            3.827194            0.574900            4.935000         
>>    
>> misc:ack            1.049100            0.116299            1.217000         
>>    
>> proc:call+splat     0.318346            1.119665            0.191000         
>>    
>> proc:call+args      2.477112            1.100848            2.995000         
>>    
>> proc:call+noarg     2.496278            1.071953            3.507000         
>>    
>> string:store swap   0.153784            0.479202            0.033000         
>>    
>> string:<<           0.481788            143.615735          0.099000         
>>    
>> string:new          0.276954            1.574715            0.207000         
>>    
>> string:[]           0.428182            1.899233            0.072000         
>>    
>> string:tuple swap   0.181318            0.721778            0.045000         
>>    
>> yield:noarg         0.783281            0.720254            1.269000         
>>    
>> yield:splat         0.159219            0.965713            0.094000         
>>    
>> yield:less_arity    0.192418            0.843867            0.345000         
>>    
>> yield:same_arity    0.937823            0.763344            1.547000         
>>    
>> yield:more_arity    0.192516            0.848179            0.421000
>> 
>> Jordan
>> 
>> <perf_string.rb>_______________________________________________
>> MacRuby-devel mailing list
>> MacRuby-devel@lists.macosforge.org
>> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
> 
> _______________________________________________
> MacRuby-devel mailing list
> MacRuby-devel@lists.macosforge.org
> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________
MacRuby-devel mailing list
MacRuby-devel@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel

Reply via email to