On Wed, Nov 14, 2012 at 6:30 AM, Charles Hixson
<[email protected]> wrote:
> I've measured it in several languages, and occasionally implemented the hash
> algorithm from scratch in C (two or three different ways of handling
> collisions...but Unicode means that I don't want to use C, though pointers
> was my original reason).  I'll admit I haven't measured it yet in Ruby, but
> hash cannot be fast, though direct indexing can be slow.  It's in the nature
> of the algorithm.  It can be quite fast compared to a tree lookup, but not
> compared to a direct index.

That is still speculation.

> FWIW, the answer I was looking for is that Arrays are automatically extended
> to the last index inserted into.  This probably implies that Arrays use some
> sort of linked block index, though another possibility is that it just
> allocates a honking big chunk of memory, and does a copy whenever it needs
> to resize the array.  This seems unlikely.

Please stop speculating and verify the facts (i.e. check Ruby source
code).  You'll do yourself a big favor.

Note also that you can still implement a type with the same interface
as Hash or Array and drop it into your implementation later if you
find the std lib types to be too slow for your purposes.

Cheers

robert


--
remember.guy do |as, often| as.you_can - without end
http://blog.rubybestpractices.com/

-- You received this message because you are subscribed to the Google Groups 
ruby-talk-google group. To post to this group, send email to 
[email protected]. To unsubscribe from this group, send email 
to [email protected]. For more options, visit this 
group at https://groups.google.com/d/forum/ruby-talk-google?hl=en

Reply via email to