[#6363] Re: rescue clause affecting IO loop behavior — ts <decoux@...>

>>>>> "D" == David Alan Black <dblack@candle.superlink.net> writes:

17 messages 2000/11/14
[#6367] Re: rescue clause affecting IO loop behavior — David Alan Black <dblack@...> 2000/11/14

Hello again --

[#6582] best way to interleaf arrays? — David Alan Black <dblack@...>

Hello --

15 messages 2000/11/26

[#6646] RE: Array Intersect (&) question — Aleksi Niemel<aleksi.niemela@...>

Ross asked something about widely known and largely ignored language (on

23 messages 2000/11/29
[#6652] RE: Array Intersect (&) question — rpmohn@... (Ross Mohn) 2000/11/29

aleksi.niemela@cinnober.com (Aleksi Niemel) wrote in

[#6723] Re: Array Intersect (&) question — Mathieu Bouchard <matju@...> 2000/12/01

> >Use a hash. Here's code to do both and more. It assumes that

[#6656] printing/accessing arrays and hashes — raja@... (Raja S.)

I'm coming to Ruby with a Python & Common Lisp background.

24 messages 2000/11/30

[ruby-talk:6392] Re: lots of Threads

From: hipster <hipster@...4all.nl>
Date: 2000-11-16 11:42:54 UTC
List: ruby-talk #6392
On Thu, 16 Nov 2000  19:59:07 +0900, Hugh Sasse Staff Elec Eng wrote:
> On Thu, 16 Nov 2000, Dave Thomas wrote:
> > Hugh Sasse Staff Elec Eng <hgs@dmu.ac.uk> writes:
> > 
> > > If I have an array to be filled with computationally heavy stuff, 
> > > I could use a load of Threads to populate it in parallel.  If I often
> > > have to re-populate it, I don't want to kill them all off and start
> > > them again.
> > 
> > But why would that be faster? Ruby threads can't take advantage of
> 
> I'm not sure that it would.  Certainly if I have to create and destroy
> lots of threads it will be lots slower...
> 
> > multiple processors, so unless filling the array also involves waiting 
> 
> OK, I had a vague feeling that it could not...

Unless you spread the work over multiple processes using fork instead
of threads, so the OS can distribute the Ruby instances over the
cpu's.

(META: would a pthread impl. of Ruby be a Good Thing[tm]?)

> > for I/O, I'd guess it would go slower with threads (as the old Coke ad 
> 
> The actual filling won't be using I/O but I will be shoving the contents
> of the array out to tape, after I have filled it, and I'm now wondering
> about the best way to tackle that producer-consumer problem.  Do I need
> a Mutex.synchronize to access the buffer, or will Thread.stop, athread.run
> give sufficient control?

Maybe the async producer/consumer example in
http:/www.xs4all.nl/~hipster/lib/ruby/semaphore is of any use? If you
elect to fork the processes the Semaphore class would have to use IPC
primitives, of course.

	Michel

In This Thread