Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Ruby > Convention and performance [] versus Array.new

Reply
Thread Tools

Convention and performance [] versus Array.new

 
 
Ryan Hinton
Guest
Posts: n/a
 
      01-27-2006
Is there any reason to use [] over Array.new or vice versa? Is there a
performance benefit? Is there any convention in this area? What about
{} versus Hash.new?

Thanks!

 
Reply With Quote
 
 
 
 
James H.
Guest
Posts: n/a
 
      01-27-2006
I can't directly answer your question, but something to consider is
that Ruby has *numerous* ways to do the same thing. Just look in the
documentation for the different ways to denote strings. I haven't
tested it, but I tend to think that these options don't differ much in
performance.

 
Reply With Quote
 
 
 
 
Ryan Hinton
Guest
Posts: n/a
 
      01-27-2006
I completely forgot about strings. Any suggestions in that area are
welcome as well.

I am familiar with the Perl approach (whatever that long acronym is) of
having lots of ways to do things. I heard about a study of different
people's Perl code where you actually end up with different dialects.
Beginners can write code fairly easily by using a dialect they are
comfortable with. However, it took a Perl expert to understand code in
someone else's dialect.

As much as convenient, I would like to make my Ruby code readable by
the majority of other Ruby coders (and non-Ruby coders?). So I am
interested in following any good conventions. (Is there a good source
of conventions and idioms for Ruby?). And if I can get a free
performance boost by using a different idiom, I'm all for it.

Thanks!

 
Reply With Quote
 
Charles Mills
Guest
Posts: n/a
 
      01-27-2006

Ryan Hinton wrote:
> Is there any reason to use [] over Array.new or vice versa? Is there a
> performance benefit? Is there any convention in this area? What about
> {} versus Hash.new?
>
> Thanks!


Array.new and Array.[] are pretty much totally different. Same for {}
and Hash.new. I think the convention is to read the docs and use them
where appropriate

-Charlie

 
Reply With Quote
 
Zak Kriner
Guest
Posts: n/a
 
      01-27-2006
I wouldn't worry about the performance in your example too much. If you
are worried anyway you can monkey w/ the 'Benchmark' module (the docs,
at www.ruby-doc.org/core, give examples).

maybe something like this maybe?:

require 'benchmark'
puts Benchmark.measure { 100_000.times { Array.new() } }
puts Benchmark.measure { 100_000.times { [] } }

Regarding conventions/idioms, here are just a few links to get you
started, I'm sure there are many more if you look around a bit.
http://www.rubygarden.org/ruby?RubyStyleGuide
http://www.rubygarden.org/ruby?RubyIdioms
http://www.rubygarden.org/ruby?Examp...PatternsInRuby
http://pleac.sourceforge.net/pleac_ruby/

Another good way to learn good ruby coding is to look at well written
ruby code (the ruby core, rails, etc.).

Good luck,
zak

 
Reply With Quote
 
Ryan Hinton
Guest
Posts: n/a
 
      01-28-2006
Thanks for the excellent suggestions. At least on my machine (Pentium
M laptop, 512 MB RAM) Array.new() and Hash.new() take 50% to 100%
longer than [] and {}. Consequently, I will prefer the latter notation
for now. I think I have read most of the pages you referenced, but I
haven't delved into the core or Rails yet. I have kept an eye on the
Ruby quiz, though, from which I've gleaned some good tidbits. Thanks
again!

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Re: Mozilla versus IE versus Opera versus Safari Peter Potamus the Purple Hippo Firefox 0 05-08-2008 12:56 PM
equal? versus eql? versus == versus === verus <=> Paul Butcher Ruby 12 11-28-2007 06:06 AM
script versus code versus ? Russ ASP .Net 1 06-10-2004 03:06 AM
Web Form Performance Versus Single File Performance jm ASP .Net 1 12-12-2003 11:14 PM
HTML Client Control versus. HTML Server Control versus. Web Server Control Matthew Louden ASP .Net 1 10-11-2003 07:09 PM



Advertisments