What is intended use of Parrot::Distribution?

2007-03-03 Thread Elizabeth Mattijsen
While trying to fix the test error in t/perl/Parrot_Distribution.t as one of my cage cleaning duties, I found that this test fails because the glob fails in Parrot::Distribution::is_perl_exemption(). This happens because the current directory is changed to the test directory (t/perl), rather

Re: What is intended use of Parrot::Distribution?

2007-03-03 Thread Elizabeth Mattijsen
At 6:38 PM +0100 3/3/07, Paul Cochrane wrote: Great to have someone else help to muck out the cage! One solution would be to create a hash with the absolute paths of exempt Perl files as keys at module compile time, or at singleton object creation time. The is_perl_exemption method would then

Re: Why consting is good

2006-08-13 Thread Elizabeth Mattijsen
At 8:16 PM -0500 8/12/06, Andy Lester wrote: I've written up some stuff about why consting is good. It's in the Parrot repository as cage/consting.pod. shameless plug Inspired by Andy's consting work, and xmath's Data::Alias, I've created Data::Reuse, which allows you to easily const data

Re: Coroutine reset functionality?

2006-05-30 Thread Elizabeth Mattijsen
At 11:04 PM +0200 5/29/06, Klaas-Jan Stol wrote: I couldn't find any functionality to reset a coroutine. Sometimes you want to reset a coroutine, so it starts at the beginning of the sub body, but there doesn't seem to be any method to do that. Am I overlooking something? Good point.

Re: Valgrind and parrot

2004-02-24 Thread Elizabeth Mattijsen
At 18:27 + 2/24/04, Arthur Bergman wrote: Using valgrind 1.9.6 I find it impossible to use with parrot, is this a known issue, should I try and get someone to upgrade valgrind for me? Current stable is 2.0.0, unstable is 2.1.0. I would think an update would be in order before send in bug

Re: This week's summary

2004-01-28 Thread Elizabeth Mattijsen
At 10:40 +0100 1/28/04, Leopold Toetsch wrote: The Perl 6 Summarizer wrote: The costs of sharing Leo Töposted a test program and some results for timing the difference between using shared and unshared PMCs. ... Hopefully the benchmark will get checked into examples/benchmarks as

Re: Start of thread proposal

2004-01-20 Thread Elizabeth Mattijsen
At 16:24 +0100 1/20/04, Leopold Toetsch wrote: Dan Sugalski [EMAIL PROTECTED] wrote: At 1:46 PM +0100 1/20/04, Leopold Toetsch wrote: The term process id is really misleading. Nope. It's the process ID. Nothing misleading there, unless you've done threading work under linux, since for a while

Re: Optimization brainstorm: variable clusters

2004-01-17 Thread Elizabeth Mattijsen
At 09:27 -0500 1/16/04, Dan Sugalski wrote: To some extent, yes. I just had a really nasty thought, and I think the compiler writers need to get Official Rulings on behavior. With perl, for example, it's distinctly possible that this: our $foo; # It's a global $foo = 12; if ($foo 10) {

Re: Optimization brainstorm: variable clusters

2004-01-15 Thread Elizabeth Mattijsen
At 15:51 -0500 1/15/04, Melvin Smith wrote: IMCC could analyze a module, decide if the optimization makes sense, and place commonly used values (constants or variables) in a pre-packaged register frame. (or more than 1) This is done at compile / load time of course. If it were all constants,

Re: Optimization brainstorm: variable clusters

2004-01-15 Thread Elizabeth Mattijsen
At 18:13 -0500 1/15/04, Melvin Smith wrote: At 10:02 PM 1/15/2004 +0100, Elizabeth Mattijsen wrote: At 15:51 -0500 1/15/04, Melvin Smith wrote: It might also be more useful to have it more granular than 16, maybe in 4s or 8s. By doing life analysis and some weighting, IMCC might be able to turn

Re: JVM as a threading example (threads proposal)

2004-01-12 Thread Elizabeth Mattijsen
At 01:29 -0800 1/12/04, Jeff Clites wrote: I'll publish some actual benchmarking numbers, with source code, separately. (They're just sort of interesting to have on hand.) If you're benchmarking Perl 5 ithreads for memory usage, you might want to have a look at Benchmark::Thread::Size. Liz

Re: Threads Design. A Win32 perspective.

2004-01-07 Thread Elizabeth Mattijsen
At 23:10 -0500 1/5/04, Gordon Henriksen wrote: Data corruption unacceptable? I disagree. It depends on the contract put forward by the language in question. Notably, Perl makes no such guarantees thus far, being as how it doesn't (any longer) run in a traditional threaded model. Successfully

Re: Threads Design. A Win32 perspective.

2004-01-04 Thread Elizabeth Mattijsen
At 00:49 +0100 1/4/04, Leopold Toetsch wrote: Elizabeth Mattijsen [EMAIL PROTECTED] wrote: Indeed. But as soon as there is something special such as a datastructure external to Perl between threads (which happens automatically shared automatically, because Perl doesn't know about

Re: Threads Design. A Win32 perspective.

2004-01-04 Thread Elizabeth Mattijsen
At 14:47 +0100 1/4/04, Leopold Toetsch wrote: Elizabeth Mattijsen [EMAIL PROTECTED] wrote: When you use an external library in Perl, such as e.g. libxml, you have Perl data-structures and libxml data-structures. The Perl data-structures contain pointers to the libxml data-structures

Re: Threads Design. A Win32 perspective.

2004-01-03 Thread Elizabeth Mattijsen
At 12:15 -0500 1/3/04, Uri Guttman wrote: LT == Leopold Toetsch [EMAIL PROTECTED] writes: LT These are platform specific details. We will use whatever the LT platform/OS provides. In the source code its a LOCK() UNLOCK() pair. LT The LOCK() can be any atomic operation and doesn't need to

Re: Threads Design. A Win32 perspective.

2004-01-03 Thread Elizabeth Mattijsen
At 18:20 + 1/3/04, Nigel Sandever wrote: Sharing data between the threads/interpreters is implemented by tieing the two copies of the variables to be shared and each time a STORE is performed in one thread, the same STORE has too be performed on the copy of that var held on every other

Re: Threads Design. A Win32 perspective.

2004-01-03 Thread Elizabeth Mattijsen
I'm trying to be constructive here. Some passages may appear to be blunt. Read at your own risk ;-) At 01:48 -0500 1/3/04, Uri Guttman wrote: NS == Nigel Sandever [EMAIL PROTECTED] writes: NS All that is required to protect an object from corruption through NS concurrent access and

Re: Threads Design. A Win32 perspective.

2004-01-03 Thread Elizabeth Mattijsen
At 21:11 + 1/3/04, Dave Mitchell wrote: On Sat, Jan 03, 2004 at 08:05:13PM +0100, Elizabeth Mattijsen wrote: Actually, you can bless a reference to a shared variable, but you can't share a blessed object (the sharing will let you lose the content of the object). I think shared compound

Re: threads and shared interpreter data structures

2003-12-24 Thread Elizabeth Mattijsen
At 18:33 -0500 12/23/03, Dan Sugalski wrote: At 3:54 PM -0600 12/23/03, Rod Adams wrote: If parrot is fast enough at threading and general computation, I'd see a PPWAS as an amazing attractive target platform. - Open Source Specs Code. - Multiple native languages - Could relatively easily port

Re: threads and shared interpreter data structures

2003-12-23 Thread Elizabeth Mattijsen
At 14:16 -0500 12/22/03, Dan Sugalski wrote: At 8:05 PM +0100 12/22/03, Elizabeth Mattijsen wrote: In Perl 5, the sharedness of a variable can be determined at run-time. Leo's mentioned that a PMC will never change its address during its lifetime. Can these two requirements be met

Re: Threads

2003-12-23 Thread Elizabeth Mattijsen
At 19:03 -0500 12/22/03, Melvin Smith wrote: At 11:59 PM 12/22/2003 +0100, Elizabeth Mattijsen wrote: events or whatever, are an integral part of the system. What Perl, Python and Ruby programs do now, should carry less weight than what all of these systems, and who knows what other languages

Re: threads and shared interpreter data structures

2003-12-23 Thread Elizabeth Mattijsen
At 10:37 +0100 12/23/03, Leopold Toetsch wrote: 2) the Perl5ish declaration my $var : shared; is basically: $P0 = new SharedPerlUndef; OTOH: share($var); may need to morph $var into a shared reference, with an additional indirection and memory overhead. (I don't

Re: threads and shared interpreter data structures

2003-12-22 Thread Elizabeth Mattijsen
At 11:00 -0500 12/22/03, Dan Sugalski wrote: Easily, albeit with a bit of a speed hit for threaded code. (Java has immutable strings which cuts out a lot of the need for synchronization, since you don't need any for immutable data) If all access is through PMCs, and it needs to be, you use the

Re: Threads

2003-12-22 Thread Elizabeth Mattijsen
Hmm... this has become more of a rambling rather than a coherent list of reasons At 13:49 -0500 12/22/03, Josh Wilmes wrote: At 12:23 on 12/22/2003 EST, Dan Sugalski [EMAIL PROTECTED] wrote: Second, we're assuming that the *non* threaded case is the common case. (This is definitely the

Re: Threads

2003-12-22 Thread Elizabeth Mattijsen
At 14:14 -0500 12/22/03, Dan Sugalski wrote: At 1:49 PM -0500 12/22/03, Josh Wilmes wrote: I think it might be good to get started on regretting that as soon as possible ;-) Still, at the moment, so far as I can tell, most perl, python, and ruby programs that are run are run single-threaded, and

Re: threads and shared interpreter data structures

2003-12-21 Thread Elizabeth Mattijsen
Please note that these are comments from a Parrot list lurker and outsider, but also as someone with some hands on experience with Perl threads... ;-) And probably stating the bleedingly obvious. At 11:09 +0100 12/21/03, Leopold Toetsch wrote: *If* ParrotClasses are per thread (very likely

Re: threads and shared interpreter data structures

2003-12-21 Thread Elizabeth Mattijsen
At 14:17 +0100 12/21/03, Leopold Toetsch wrote: Elizabeth Mattijsen [EMAIL PROTECTED] wrote: Ideally I'd see a COWed structure: a thread startup would not actually copy the main vtable structure. As soon as something needs to be specific for the thread, only then needs that structure

Re: Object freezing

2003-10-21 Thread Elizabeth Mattijsen
At 08:21 -0400 10/21/03, Dan Sugalski wrote: I find the notion of an XML header a bit confusing, given Dan's statement to the effect that it was a throw to XML folks. I think anything XML folks will be interested in will entail *wrapping* stuff, not *prefixing* it. Nah, I expect what they'll

Re: Object freezing

2003-10-21 Thread Elizabeth Mattijsen
At 12:53 -0400 10/21/03, Dan Sugalski wrote: Yeah, if you're just needing to tag the stream with a label to indicate the type plus a version number, then xml's on the one hand overkill and on the other hand not necessarily a big help to xml proponents. So, in a nutshell, throwing an XML

Re: Object freezing

2003-10-21 Thread Elizabeth Mattijsen
At 13:49 -0400 10/21/03, Dan Sugalski wrote: On Tue, 21 Oct 2003, Elizabeth Mattijsen wrote: Yep. But mainly I think because you'll need to encode binary data to make it valid XML. That's on overhead you don't to suffer for those serialization that don't need it. I had it in mind

Re: Object freezing

2003-10-21 Thread Elizabeth Mattijsen
At 15:18 -0400 10/21/03, Dan Sugalski wrote: On Tue, 21 Oct 2003, Clark C. Evans wrote: If you are going to go this far (including content-length) may I just suggest using a MIME envelope? This has several advantages: This is a very good idea, but not this time, as it's too easy to get stuck

Re: Object freezing

2003-10-21 Thread Elizabeth Mattijsen
At 12:56 -0700 10/21/03, Clark C. Evans wrote: On Tue, Oct 21, 2003 at 09:25:48PM +0200, Elizabeth Mattijsen wrote: | At 15:18 -0400 10/21/03, Dan Sugalski wrote: | On Tue, 21 Oct 2003, Clark C. Evans wrote: | If you are going to go this far (including content-length) may I | just suggest

Re: String API

2003-08-21 Thread Elizabeth Mattijsen
At 14:15 +0100 8/21/03, Nicholas Clark wrote: On Wed, Aug 20, 2003 at 07:19:42PM -0400, Benjamin Goldberg wrote: Leopold Toetsch wrote: But these could be converted to utf32 as soon as they are seen. For a long string, that could be quite a bit of bloat. Jarkko's view is that the combined

Re: What the heck is: timely destruction

2003-08-18 Thread Elizabeth Mattijsen
At 11:56 -0700 8/18/03, K Stol wrote: Uhm, I didn't realize destructor methods were called, but now I see that's the whole point: destructor methods should be called when doing timely destruction. You already said just now: This doesn't necessarily mean that their memory has to be freed but that

Re: bug: two segfaults

2003-08-10 Thread Elizabeth Mattijsen
At 12:14 -0400 8/10/03, Uri Guttman wrote: VL == Vladimir Lipskiy [EMAIL PROTECTED] writes: I've committed a würgaround. i get the english side of the pun. what does the german(?) side mean? The german verb würgen means to strangle, if I'm not mistaken... Liz

Re: The Judy algorithm

2003-03-10 Thread Elizabeth Mattijsen
At 10:37 + 3/10/03, Tim Bunce wrote: I think this might be interesting to some of you... Judy is a general purpose dynamic array implemented as a C callable library. Judy's speed and memory usage are typically better than other data storage models and improves with very large data sets.