[#11822] RCR: Input XML support in the base Ruby — Dave Thomas <Dave@...>

15 messages 2001/03/01

[#11960] Not Ruby, for me, for the moment at least — "Michael Kreuzer" <mkreuzer@... (nospam)>

I wrote on this newsgroup last weekend about how I was considering using

11 messages 2001/03/04

[#12023] French RUG ? — "Jerome" <jeromg@...>

Hi fellow rubyers,

16 messages 2001/03/05

[#12103] disassembling and reassembling a hash — raja@... (Raja S.)

Given a hash, h1, will the following always hold?

20 messages 2001/03/06

[#12204] FEATURE REQUEST: 'my' local variables — Leo Razoumov <see_signature@127.0.0.1>

Ruby is, indeed, a very well designed language.

64 messages 2001/03/07
[#12250] Re: FEATURE REQUEST: 'my' local variables — Leo Razoumov <see_signature@127.0.0.1> 2001/03/07

>>>>> "GK" == GOTO Kentaro <gotoken@math.sci.hokudai.ac.jp> writes:

[#12284] Re: FEATURE REQUEST: 'my' local variables — gotoken@... (GOTO Kentaro) 2001/03/08

In message "[ruby-talk:12250] Re: FEATURE REQUEST: 'my' local variables"

[#12289] Re: FEATURE REQUEST: 'my' local variables — matz@... (Yukihiro Matsumoto) 2001/03/08

Hi,

[#12452] Re: FEATURE REQUEST: 'my' local variables — gotoken@... (GOTO Kentaro) 2001/03/12

In message "[ruby-talk:12289] Re: FEATURE REQUEST: 'my' local variables"

[#12553] Re: FEATURE REQUEST: 'my' local variables — Dave Thomas <Dave@...> 2001/03/13

matz@zetabits.com (Yukihiro Matsumoto) writes:

[#12329] Math package — Mathieu Bouchard <matju@...>

18 messages 2001/03/09

[#12330] Haskell goodies, RCR and challenge — Robert Feldt <feldt@...>

Hi,

19 messages 2001/03/09
[#12374] Re: Haskell goodies, RCR and challenge — matz@... (Yukihiro Matsumoto) 2001/03/10

Hi,

[#12349] Can Ruby-GTK display Gif Png or Jpeg files? — Phlip <phlip_cpp@...>

Ruby-san:

20 messages 2001/03/09

[#12444] class variables — Max Ischenko <max@...>

14 messages 2001/03/12

[#12606] Order, chaos, and change requests :) — Dave Thomas <Dave@...>

17 messages 2001/03/14

[#12635] email address regexp — "David Fung" <dfung@...>

i would like to locate probable email addresses in a bunch of text files,

12 messages 2001/03/14

[#12646] police warns you -- Perl is dangerous!! — Leo Razoumov <see_signature@127.0.0.1>

I just read this story on Slashdot

14 messages 2001/03/14
[#12651] Re: police warns you -- Perl is dangerous!! — pete@... (Pete Kernan) 2001/03/14

On 14 Mar 2001 11:46:35 -0800, Leo Razoumov <see_signature@127.0.0.1> wrote:

[#12691] Re: police warns you -- Perl is dangerous!! — "W. Kent Starr" <elderburn@...> 2001/03/15

On Wednesday 14 March 2001 15:40, Pete Kernan wrote:

[#12709] [OFFTOPIC] Re: police warns you -- Perl is dangerous!! — Stephen White <spwhite@...> 2001/03/16

On Fri, 16 Mar 2001, W. Kent Starr wrote:

[#12655] Re: FEATURE REQUEST: 'my' local variables — "Benjamin J. Tilly" <ben_tilly@...>

>===== Original Message From Leo Razoumov <see_signature@127.0.0.1> =====

18 messages 2001/03/14

[#12706] Library packaging — "Nathaniel Talbott" <ntalbott@...>

I have a project that I'm working on that needs to live two different lives,

30 messages 2001/03/16

[#12840] Looking for a decent compression scheme — Dave Thomas <Dave@...>

14 messages 2001/03/19

[#12895] differences between range and array — "Doug Edmunds" <dae_alt3@...>

This code comes from the online code examples for

16 messages 2001/03/20
[#12896] Re: differences between range and array — "Hee-Sob Park" <phasis@...> 2001/03/20

[#12899] Re: differences between range and array — Jim Freeze <jim@...> 2001/03/20

On Tue, 20 Mar 2001, Hee-Sob Park wrote:

[#12960] TextBox ListBox — Ron Jeffries <ronjeffries@...>

Attached is a little Spike that Chet and I are doing. It is a

13 messages 2001/03/20

[#12991] [ANN] Lapidary 0.2.0 — "Nathaniel Talbott" <ntalbott@...>

Well, here's my first major contribution to the Ruby world: Lapidary. It's a

16 messages 2001/03/20

[#13028] mkmf question — Luigi Ballabio <luigi.ballabio@...>

15 messages 2001/03/21

[#13185] Reading a file backwards — "Daniel Berger" <djberg96@...>

Hi all,

21 messages 2001/03/25
[#13197] Re: Reading a file backwards — "Daniel Berger" <djberg96@...> 2001/03/25

> Hi Dan,

[#13203] Re: Reading a file backwards — Mathieu Bouchard <matju@...> 2001/03/25

On Sun, 25 Mar 2001, Daniel Berger wrote:

[#13210] Re: Reading a file backwards — "Daniel Berger" <djberg96@...> 2001/03/25

"Mathieu Bouchard" <matju@sympatico.ca> wrote in message

[#13374] Passing an array to `exec'? — Lloyd Zusman <ljz@...>

I'd like to do the following:

15 messages 2001/03/31

[#13397] Multidimensional arrays and hashes? — Lloyd Zusman <ljz@...>

Is it possible in ruby to make use of constructs that correspond to

14 messages 2001/03/31

[ruby-talk:13371] Re: Native/pthreads in Ruby [Long]

From: Marc Butler <mlb@...>
Date: 2001-03-31 01:58:56 UTC
List: ruby-talk #13371
Yukihiro Matsumoto wrote:

> Hi,
>
> In message "[ruby-talk:13224] Re: Native/pthreads in Ruby [Long]"
>     on 01/03/27, Marc Butler <mlb@noworkingparts.com> writes:
>
> |Certainly a global interpreter lock would achieve the synchronization necessary
> |to run the mark-sweep collector.  It seems natural to place this lock in the
> |memory allocation routine, so that only threads that are attempting to allocate
> |memory are locked during garbage collection.
>
> Well, that makes lock granularity much smaller than one giant lock.
> But Ruby internal is not thread safe in general.
>

 True but it releases you from the requirement of having to make all the threads
poll the garbage collector lock at set intervals.  Threads could block on conditions
such as I/O with relative impunity.

>
> |I am curious as to why ruby uses a conservative collector.  I know that Ruby is
> |a type-less language but I would have thought the run time structures used by
> |the interpreter would provide enough information to avoid the need of the
> |collector.  I am only just learning about garbage collection, and have not
> |developed any intuition about such systems.
>
> Well, conservativeness is due to ease of extension writing.  You don't
> have to protect your local C variables in extensions (and builtin
> methods too).

Given that it is not possible to get the stack address from an existing thread.
(Something you pointed out later.)  Would this mean that extension writers would
have to start their threads from a ruby function?  So instead of
pthread_create(...), you might call ruby_native_thread_create(...).

>
>
> |I had imagined that it might be possible to implement a thread oriented
> |collector using the concepts that drive a generational collector.  If we ignore
> |thread recycling for convenience, threads often fall into two categories:
> |short-lived work threads that perform specific tasks; and long-lived threads
> |that handle blocking system calls (like I/O).  By using the thread id like a
> |special reference you can dereference all the data allocated in that threads
> |lifetime, if other threads now have references to that data it will still be
> |safe.
>
> Interesting.  Threads share object space so that objects are not
> belong to any specific thread.  But there might be a solution.

This is certainly true.  However, when a thread calls the allocator it's thread id
is available via pthread_self().  I believe most threading implementations have some
way of retrieving the thread id of the thread.  So you can always mark it as having
been allocated by thread x on the heap.  However mark-sweep is still needed to see
if other threads are consequently referencing it.

>
>
> The other obstacle is pthread does allow retrieving stack address only
> at the creation time.
>
> FYI, Bohem GC wrap pthread_create(), Qscheme using thread signal
> handler to get stack addresses.  OCaml uses assembler code to get
> stack boundary of each invoked C function.
>
>                                                         matz.

Thanks.  It's not always clear where to look for interesting implementations.  Now
if I could just find some time. :)

marc.
--
Apathy: a cynics best friend.
mlb@noworkingparts.com


In This Thread

Prev Next