[#400858] Support for multiple Inheritance by classes — Ross Konsolebox <lists@...>

Will Ruby ever support multiple inheritance through classes instead of

23 messages 2012/11/03
[#400859] Re: Support for multiple Inheritance by classes — Arlen Cuss <ar@...> 2012/11/03

I think I can say "no" with a fair amount of confidence.

[#400902] Re: Support for multiple Inheritance by classes — Ross Konsolebox <lists@...> 2012/11/04

Arlen Cuss wrote in post #1082618:

[#400904] Re: Support for multiple Inheritance by classes — Peter Hickman <peterhickman386@...> 2012/11/04

Even though other languages handle multiple inheritance without any

[#400865] why does UnboundMethod need to remember the class it was retrieved from (not merely owner)? — "Mean L." <lists@...>

class Base; def foo; end end

17 messages 2012/11/03

[#400914] login web page using mechanize — john smith <lists@...>

new to ruby, love the language. read programmatic programmers guide to

25 messages 2012/11/04

[#400985] How to merge two or more hashes in to one? — "Jermaine O." <lists@...>

Hi everyone.

14 messages 2012/11/06

[#401026] Site down watir-webdriver — ajay paswan <lists@...>

Whenever a site is down it keeps on looking for it for sometime and

14 messages 2012/11/07

[#401027] Closing popups watir-webdriver — ajay paswan <lists@...>

Sometimes popup comes when a link is clicked, sometimes popup comes when

14 messages 2012/11/07

[#401125] Complete newbie — "Carlos A." <lists@...>

Hey guys!

14 messages 2012/11/10

[#401161] Convert date to string — Ferdous ara <lists@...>

Hi

12 messages 2012/11/11

[#401173] question on watir — Raj pal <lists@...>

I am automating Idit application using Ruby, at one screen I can't feed

233 messages 2012/11/12

[#401191] Extending Array instances — Charles Hixson <charleshixsn@...>

I'm trying to figure out a good way to extend an Array, when the items

17 messages 2012/11/12
[#401195] Re: Extending Array instances — Brian Candler <lists@...> 2012/11/12

Charles Hixson wrote in post #1084111:

[#401200] Efficient way for comparing records between 2 large files (16 million records) — Ruby Student <ruby.student@...>

Team,

9 messages 2012/11/12

[#401274] following along with "Beginning Ruby." — Al Baker <lists@...>

I'm having trouble following along with some of the examples in this

15 messages 2012/11/15

[#401279] Question on exceptions — Justin Gamble <lists@...>

Hello! I have a simple bank program where I have to have an exception

16 messages 2012/11/15
[#401281] Re: Question on exceptions — Justin Gamble <lists@...> 2012/11/15

What is the reason of doing the .new(...)in

[#401295] Re: Question on exceptions — Brian Candler <lists@...> 2012/11/16

Justin Gamble wrote in post #1084635:

[#401296] Re: Question on exceptions — tamouse mailing lists <tamouse.lists@...> 2012/11/16

On Fri, Nov 16, 2012 at 1:43 AM, Brian Candler <lists@ruby-forum.com> wrote:

[#401301] Alternatives to methods for large number of nested "ifs" — Philip Rhoades <phil@...>

People,

11 messages 2012/11/16

[#401336] Advice for simple client/server application — Panagiotis Atmatzidis <atma@...>

Hello,

12 messages 2012/11/17

[#401364] Metaprogramming — "Aurimas N." <lists@...>

Hello,

12 messages 2012/11/19

[#401404] "undefined method `synchronize' for #<Mutex:0xa0f5adc>" from embedded Ruby program — Graham Menhennitt <graham@...>

I'm writing a C++ program (on Centos 5 Linux) that embeds a Ruby 1.9.3

9 messages 2012/11/21

[#401422] how to increase variable inside the while loop — Ferdous ara <lists@...>

Hi, my question might be confusing as its hard for me to make it clear,

12 messages 2012/11/21

[#401451] Arrays with records as objects — Steve Tucknott <lists@...>

I am completely new to Ruby.

11 messages 2012/11/22

[#401458] working with mysql in ruby — john smith <lists@...>

i have been trying to successfully connect ruby with mysql. there are a

17 messages 2012/11/22

[#401567] click on link not working with ie #watir-webdriver — ajay paswan <lists@...>

Greetings,

12 messages 2012/11/26

[#401578] atomic statements in multithreading — ajay paswan <lists@...>

suppose I am working in multiple thread each thread runs following

10 messages 2012/11/26

[#401607] Novice: Understanding instance 'variables' and methods — Steve Tucknott <lists@...>

A question - or comment - on instance variables.

10 messages 2012/11/26

[#401644] Getting the smallest Items of an Array — "Ismail M." <lists@...>

Hello guys,

14 messages 2012/11/27

[#401655] gem problems(sigh) — Al Baker <lists@...>

i tried to make a gem and tried to build the spec file and this is what

10 messages 2012/11/28

[#401688] sorting data from a file — "Ismail M." <lists@...>

Hey guys,

16 messages 2012/11/28

[#401706] Newbie question: (free) on-line courses? — Ken D'Ambrosio <ken@...>

Hello, all. There's a bunch of free on-line training for Javascript,

11 messages 2012/11/28

Re: Extending Array instances

From: Charles Hixson <charleshixsn@...>
Date: 2012-11-14 05:30:29 UTC
List: ruby-talk #401238
Robert Klemme wrote:
> On Mon, Nov 12, 2012 at 10:12 PM, Charles Hixson
> <charleshixsn@earthlink.net>  wrote:
>> Brian Candler wrote:
>>> As others have said: using a Hash may be more efficient, if there are
>>> large gaps - but then you may have to sort the keys if you want to
>>> iterate over it in order. It depends on your use case.
>>>
>> Hashes are slow compared to direct indexing.
> Did you measure it?  If not, please do.  It's easy to arrive at wrong
> conclusions by assuming what may be truth in other contexts in true in
> a new context as well.
>
>> I'm expecting this array to eventually use over a GB of storage, so
> Are you talking about memory or number of instances?  I am asking
> because both are not the same and it may be more difficult to asses
> memory consumption than you think.
I'm talking about data size.  The number of instances would probably be 
about 1/20 of the number of items.  (Varies because the items themselves 
contain Arrays that vary in size.)  But please note that this is a rough 
estimate, and could be an underestimate (though I've tried to make a 
generous estimate).
> efficiency considerations are somewhat significant.  gdbm solves some of
> these, by not dealing with the entire array at once, but only with the
> recently active instances.  But it's slower, which I was trying to avoid by
> using an Array.  However, I don't know just how many items the Array will
> need to hold, it could easily be in the millions, and will at least be in
> the hundreds of thousands.
> So how do you know we are talking about "over a GB of storage"?
It's my best estimate before I actually build the thing.  I hope it's a 
generous estimate, as smaller amounts of data would be easier to handle, 
but I don't want to say that I haven't underestimated.
>
>>   So pre-allocating isn't very desirable, but
>> neither is adding instance by instance.  (Besides, they won't necessarily
>> come in order.  It could well be that I'll get the 100,000th entry
>> immediately after getting the 21st.  No problem for a hash, but if I'm going
>> to slow down to hash speed, I should probably just go directly to gdbm.)
> Again: measure before you judge.  It's really much better to base
> decisions on facts than on speculation.
>
> Cheers
>
> robert
>
> --
> remember.guy do |as, often| as.you_can - without end
> http://blog.rubybestpractices.com/
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.
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.  Also 
silly.  So I'll bet on a linked block index.  (N.B.:  Some languages DO 
just allocate large blocks of RAM for their arrays, but most of the ones 
that I know do that are compiler languages, and they've got reasonable 
grounds...big blocks are more efficient to access, and if you're a 
compiler the code you compile can be as efficient as you are.  So the 
trade-offs are different.  Even then they try to avoid copying.)

P.S.:  Developing this in Ruby *IS* a measurement test.  If I can do it 
in Ruby, then I've guessed the right size.  But picking a bad algorithm 
to implement wouldn't prove much of anything.  If it doesn't work, I'll 
need to fall back to a faster language.  Probably D.  That's one reason 
I want to avoid gdbm.  Not only is RAM faster, but it's an easier 
conversion to another language if it turns out that I need a faster 
language.
Ruby's a lot faster to develop in, so it's not a bad decision even if 
Ruby turns out to be too slow (or not able to handle the required amount 
of memory), because then I'll have a pretty much written application 
that I can translate to a faster language.  (One reason for D is that 
there are lots of places where I can execute loops in parallel easily.  
That would be harder in Ruby, Python, etc., though in most ways they are 
easier.)

In This Thread