[#45938] How to make a virtual 2nd column!!! — Kurt Euler <keuler@...>
All-
[#45942] win32ole and excel — Martin Stannard <martin@...>
Hi,
[#45948] "gets" blocking process not thread (in Windows only) — Matt Pattison <mfp@...>
The problem with my program is that (in Windows) gets seems to block the entire
Hi,
On Fri, Aug 02, 2002 at 10:31:15AM +0900, nobu.nokada@softhome.net wrote:
Hi,
[#45998] vim indenteation for ruby — Daniel Bretoi <lists@...>
[#46004] Checking whether a process exists (unix) — Harry Ohlsen <harryo@...>
To check whether a process with a given ID is still running on unix, I would
[#46023] Style: where to require in libs? — <bbense+comp.lang.ruby.Aug.01.02@...>
-----BEGIN PGP SIGNED MESSAGE-----
[#46030] IO.readlines is slow ? — "Shashank Date" <ADATE@...>
I really like the convenience of doing:
[#46048] RE: GetoptLong#to_hash — "Berger, Daniel" <djberge@...>
[#46072] How to Load Script from a C Extension? — William Djaja Tjokroaminata <billtj@...>
Hi,
[#46091] JRuby changes breaking code? — adamon@... (Damon)
I am running the sample code straight out of Ruby Developer's Guide,
[#46105] Ruby on the Sharp Zaurus PDA — Ian Macdonald <ian@...>
Hi,
Hi,
On Sun 04 Aug 2002 at 06:26:20 +0900, Jerome Gotangco wrote:
[#46107] embed or swig? — ptkwt@...1.aracnet.com (Phil Tomson)
I'm working a C++ project for a contract I'm doing. Originally, the
"Massimiliano Mirra" <list@NOSPAMchromatic-harp.com> wrote in message
i was just reading over a little of the swig docs and HOLY CODING! from
I'm working on a wxWindows port for Ruby (called, predictably, wxRuby),
[#46125] Deprecation and Unicode — Danny van Bruggen <danny@...>
Hello all,
[#46128] Assoc Class (Hash Pairs) — Tom Sawyer <transami@...>
i've been thinking about posting this as an RCR.
> i've been thinking about posting this as an RCR.
----- Original Message -----
Hello --
On Sun, 2002-08-04 at 06:40, David Alan Black wrote:
Hi --
[#46132] mini-ANN: Magnetic Poetry via TkCanvas — Phlip <phlip_cpp@...>
Rubies:
[#46136] Should this work? — "Hal E. Fulton" <hal9000@...>
Should multiple assignment work for the
[#46151] String -> Integer anomoly? — "Gavin Sinclair" <gsinclair@...>
Why does "09".to_i return 9
[#46192] Detecting when an instance variable is created/set — Harry Ohlsen <harryo@...>
Imagine we have a class like ...
On Sun, 2002-08-04 at 06:03, Harry Ohlsen wrote:
> > Can I write a method (of class Object or Kernel, perhaps) that will be
On Sun, Aug 04, 2002 at 10:32:44PM +0900, Harry Ohlsen wrote:
> Would it be enough for you to catch creation of instance variables in
On Mon, Aug 05, 2002 at 04:59:40AM +0900, Harry Ohlsen wrote:
[#46264] Dynamic creation of classes and methods — Tomasz Wegrzanowski <taw@...>
I want to create classes and methods on fly.
>>>>> "T" == Tomasz Wegrzanowski <taw@users.sourceforge.net> writes:
On Mon, Aug 05, 2002 at 05:51:58PM +0900, ts wrote:
>>>>> "T" == Tomasz Wegrzanowski <taw@users.sourceforge.net> writes:
[#46270] Regex question — "Gavin Sinclair" <gsinclair@...>
Folks,
Hello --
On Mon, Aug 05, 2002 at 11:37:12AM +0900, David Alan Black wrote:
> On Mon, Aug 05, 2002 at 11:37:12AM +0900, David Alan Black wrote:
[#46296] ruby-dev summary 17714-17874 — Takaaki Tateishi <ttate@...>
[#46326] RE: EW is unable to deliver — "Hammond, Tony (ELSLON)" <T.Hammond@...>
[#46337] Super-iterator? (long) — "Hal E. Fulton" <hal9000@...>
Here's an idea for you. I've worked on it a couple of days.
[#46341] More questions on automation from na誰ve Windows user. — Chris Gehlker <gehlker@...>
Hi all,
> I do have IE and it's supposedly scriptable. I just
[#46356] Coding challenge (on Ruby Garden) — David Alan Black <dblack@...>
Hello --
On Mon, 2002-08-05 at 18:58, David Alan Black wrote:
Hi --
David Alan Black <dblack@candle.superlink.net> wrote in message news:<Pine.LNX.4.30.0208052056270.15880-100000@candle.superlink.net>...
[#46357] Compiling Ruby to Native Code? — web2ed@... (Edward Wilson)
Having looked at OCaml, after following a post to this group, one
On Tue, Aug 06, 2002 at 10:19:54AM +0900, Edward Wilson wrote:
%% > Game over, if Java or Ruby provides native compilation; it won't make
"Rafael 'Dido' Sevilla" <dido@imperium.ph> wrote in message news:<20020807033226.GB1745@imperium.ph>...
On Thu, Aug 08, 2002 at 08:45:07AM +0900, Lothar Scholz wrote:
[#46393] Writing a method that's added to both Fixnum and Bignum — Harry Ohlsen <harryo@...>
A mate of mine just asked me an interesting question. He had written a method
[#46426] Is There an Inverse of 'rb_define_method'? — William Djaja Tjokroaminata <billtj@...>
Hi,
[#46427] performance about "..." and '...' — tran55555@... (Email55555)
Hi,
[#46442] COM on Unix? — Chris Gehlker <gehlker@...>
As part of my crusade to make Ruby an automation language I read up a little
[#46443] Dup and Clone — "Justin Johnson" <justinj@...>
Could anyone kindly point out the difference between 'dup' and 'clone'?
[#46452] HT delete all files in a directory... — Kurt Euler <keuler@...>
Rubites:
[#46468] sort problem — Ian Macdonald <ian@...>
Hi,
[#46475] Named paramters again — "Justin Johnson" <justinj@...>
Hi --
[#46520] Something that corresponds to Perl's -T and -B tests? — Lloyd Zusman <ljz@...>
I've searched the Ruby documentation, and I can't find descriptions of
>>>>> "L" == Lloyd Zusman <ljz@asfast.com> writes:
ts <decoux@moulon.inra.fr> writes:
[#46523] XHTML output — Francois GORET <fgoret@...1.loxinfo.co.th>
Hi,
[#46532] Class hierarchy... for data — Tom Gilbert <tom@...>
Hey,
[#46539] A very small challenge — "Hal E. Fulton" <hal9000@...>
This is a very minor piece of code,
[#46550] GUI's and the Rouge, Part IV — Kero van Gelder <kero@...>
Funny, two savannah accounts for the same objective:
[#46558] Non trivial features changes in 1.7.2 via CVS — <bbense+comp.lang.ruby.Aug.07.02@...>
-----BEGIN PGP SIGNED MESSAGE-----
<bbense+comp.lang.ruby.Aug.07.02@telemark.stanford.edu> writes:
[#46565] Re: Unicode in Ruby now? — "Marcin 'Qrczak' Kowalczyk" <qrczak@...>
Wed, 7 Aug 2002 16:41:18 +0900, Curt Sampson <cjs@cynic.net> pisze:
On Thu, 8 Aug 2002, Marcin 'Qrczak' Kowalczyk wrote:
Curt Sampson <cjs@cynic.net> wrote in message news:<Pine.NEB.4.44.0208081139480.17422-100000@angelic.cynic.net>...
On Sat, 10 Aug 2002, Bret Jolly wrote:
[#46587] Bug in TkText — Albert Wagner <alwagner@...>
Ruby-1.6.7;Tcl/Tk-8.3.4
[#46615] The whole 'Spades' thing: GA and cardbots — "Hal E. Fulton" <hal9000@...>
OK, I have more useful things to be doing.
[#46646] RE: struct needs to be a constant? — "Berger, Daniel" <djberge@...>
>>>>> "B" == Berger, Daniel <djberge@qwest.com> writes:
Hi,
>>>>> "n" == nobu nokada <nobu.nokada@softhome.net> writes:
Hi,
>>>>> "n" == nobu nokada <nobu.nokada@softhome.net> writes:
[#46663] ruby sample code runtime problem — markgriffin@... (mark G)
Hello all,
[#46669] Testing for mod_ruby (was "how do i mock the presence / absence of a constant w/out getting warnings?") — patrick-may@... (Patrick May)
Currently, the only reliable way to test for the mod_ruby enviroment
[#46672] Variable validation — "Chris Morris" <chrismo@...>
I've got a class that has a number of instance variables, some of which must
[#46681] Dr. Dobbs Ruby Article — " JamesBritt" <james@...>
The September issue of Dr Dobbs has an article by Phil Tomson on distributed
> The September issue of Dr Dobbs has an article by Phil Tomson on
[#46696] Ruby in EETimes — ptkwt@...1.aracnet.com (Phil Tomson)
When it rains it pours, it seems:
[#46698] Ruby/LibGlade: multiple GladeXML objects — Tom Sawyer <transami@...>
hi,
[#46715] Getting the file name from a File::Stat object? — Lloyd Zusman <ljz@...>
Is there a way to get the file name from a File::Stat object?
At Fri, 9 Aug 2002 22:46:32 +0900,
[#46730] nil || // — Paul Brannan <pbrannan@...>
Why does this not work in Ruby 1.6:
[#46732] ambiguity between local variable assignment and writter method — Tom Sawyer <transami@...>
does anyone else find it annoying that local variable assignment is
Hi --
On Fri, 2002-08-09 at 22:50, dblack@candle.superlink.net wrote:
Hi --
> class A
Hi, Tom. I see a pattern to all of your expectations for Ruby. Are you a
On Sat, 2002-08-10 at 17:44, Albert Wagner wrote:
On Sunday 11 August 2002 02:07 pm, Tom Sawyer wrote:
On Sat, Aug 10, 2002 at 03:00:28AM +0900, Tom Sawyer wrote:
On Fri, 2002-08-09 at 12:05, Paul Brannan wrote:
Tom Sawyer <transami@transami.net> writes:
At Sat, 10 Aug 2002 03:44:45 +0900,
GOTO Kentaro <gotoken@notwork.org> writes:
On Fri, 2002-08-09 at 13:30, Dave Thomas wrote:
How about:
On Fri, 2002-08-09 at 15:19, Rich Kilmer wrote:
Tom Sawyer <transami@transami.net> writes:
[#46776] Unit testing is considered harmful — "MikkelFJ" <mikkelfj-anti-spam@...>
I'm sorry, I could help it. I just find this considered harmful thing
[#46780] The problem with using $1 in regexps — Philip Mak <pmak@...>
sub _num_quotes {
[#46827] Economics of E-books? ( was re: Dr. Dobbs Ruby Article) — " JamesBritt" <james@...>
Re: USD $5 for a single Dr. Dobbs article
[#46841] Ah, I'm finally back from Japan ... — Dossy <dossy@...>
Not like anyone cares (or noticed) but my two week stay in Japan
----- Original Message -----
[#46845] extend Html4? — Philip Mak <pmak@...>
Suppose I have this code:
Hello --
On Sun, Aug 11, 2002 at 09:16:01AM +0900, dblack@candle.superlink.net wrote:
[#46875] To be a Module, or not to be... — Holden Glova <dsafari@...>
-----BEGIN PGP SIGNED MESSAGE-----
>>>>> "H" == Holden Glova <dsafari@paradise.net.nz> writes:
-----BEGIN PGP SIGNED MESSAGE-----
>>>>> "H" == Holden Glova <dsafari@paradise.net.nz> writes:
On Sun, 2002-08-11 at 03:40, ts wrote:
>>>>> "T" == Tom Sawyer <transami@transami.net> writes:
[#46892] empty file returns nil not empty string? — Thomas Sdergaard <thomass@...>
Hello,
[#46902] "ri test" tells me to see page 430? — Philip Mak <pmak@...>
$ ri test
[#46906] subclassing and @@variable — Philip Mak <pmak@...>
I have the following test code:
Philip Mak wrote:
[#46911] Choosing ruby? — Rhymes <raims@...>
[#46957] Handling forms on database driven websites — Philip Mak <pmak@...>
Ever since I learned Perl, Ruby and MySQL, I've built several database
[#46965] replacing values in some files: line endings etc — Tobias Reif <tobiasreif@...>
Hi,
[#47000] Primary Key Hash help — "Chris Morris" <chrismo@...>
I have a huge data file with rows like this:
> I have a huge data file with rows like this:
[#47053] ruby-dev summary 17875-17964 — TAKAHASHI Masayoshi <maki@...>
There was a lot of discussions in ruby-dev this week.
[#47060] Problem with REXML — Andreas Pinkert <the_supernova@...>
Hi!
[#47080] class === class often false? — "Bill Kelly" <billk@...>
Hi,
----- Original Message -----
[#47113] ruby-mode / inferior ruby — Bjn Nordb<bn@...>
Emacs' ruby-mode doesn't seem to work too well. I would be most happy if
[#47134] Data_Make_Struct Considered Dangerous? — William Djaja Tjokroaminata <billtj@...>
Hi,
ts <decoux@moulon.inra.fr> wrote:
Hi,
>>>>> "W" == William Djaja Tjokroaminata <billtj@z.glue.umd.edu> writes:
Two things:
[#47163] YAML.rb 0.38 -- Objects in plain text — why the lucky stiff <yaml4r@...>
Pleased to announce the latest YAML.rb product.
[#47199] Is this array operation correct? —
Hi,
[#47202] Minimum version of windows for ruby? — ian <spammapsglenizrainmapsspammaps@...>
Hi -
[#47212] Ruby Weekly News — Dave@...
Please don't take this as a knock of the efforts required to produce the
----- Original Message -----
----- Original Message -----
[#47218] Cannot input Thai character in TkEntry — "nongluk" <nonglukb@...>
Hi,
[#47228] Re: 1.7.2 v. the latest and 1.7.2 windows dist — Andrew Hunt <andy@...>
>> The front page of ruby-lang.org lists 1.7.2 as the current development
[#47240] RE: A few newbie questions... — "Bennett, Patrick" <Patrick.Bennett@...>
You're really going to like Ruby. :>
[#47244] RE: How to use the safe_unlink method? — Kurt Euler <keuler@...>
Guy-
[#47270] Legendary Chaos Computer Club goes Ruby — "MikkelFJ" <mikkelfj-anti-spam@...>
The Chaos Computer Club that spawned legendary hackers in the 80'ties
[#47292] Thought question: Where does "new" come from? — "Hal E. Fulton" <hal9000@...>
I've been brooding again on the circularities
----- Original Message -----
Hi --
Hello --
Hi --
[#47344] eruby editor — "Kyle Wilson" <kyle.wilson@...>
Hello. I was wondering if anyone knows of a text editor which will
Here's what I have - 91 characters with everything you'd need for a Flash
[#47348] robust hardware to run ruby newtwork service — Tom Sawyer <transami@...>
i know this is bit off topic, but since you all are my "computer family"
[#47350] ruby email client; why? — Michael Campbell <michael_s_campbell@...>
I find this thread somewhat interesting. When I'm shopping around
[#47360] Is it possible?---ruby xxx.rb arg1 arg2... — "Chai, Xinwei" <ChaiXV@...>
Hellow guys:
[#47375] How do I find the URL of the .rhtml that's being served? — sera@... (Francis Hwang)
I have a utility class that's being used inside a bunch of different
[#47440] Help with a segv in mod_ruby — Dave Thomas <Dave@...>
> I'm getting a segv in mod_ruby:
[#47441] Narf cgi library alpha release — patrick-may@... (Patrick May)
Information: http://narf-lib.sourceforge.net/
[#47461] How do I dup file descriptors in ruby? (diverting STDERR) — "Richard A. Ryan" <ryan@...>
Hello,
[#47464] IDE vs. editor — Holden Glova <dsafari@...>
-----BEGIN PGP SIGNED MESSAGE-----
>>>>> "Holden" == Holden Glova <dsafari@paradise.net.nz> writes:
On Sat, Aug 17, 2002 at 10:49:20AM +0900, Jim Weirich wrote:
On Sun, Aug 18, 2002 at 03:45:00AM +0900, Massimiliano Mirra wrote:
On Sun, Aug 18, 2002 at 03:57:22AM +0900, Alan Chen wrote:
-----BEGIN PGP SIGNED MESSAGE-----
-----BEGIN PGP SIGNED MESSAGE-----
[#47504] FreeRide install problem — Armin Roehrl <armin@...>
Hi,
[#47545] How can I avoid "Insecure operation - stat (SecurityError) " — " JamesBritt" <james@...>
I'm trying to get some ruby code, running under mod_ruby, to retrieve the
[#47547] Re: What Ruby needs. — "Shashank Date" <ADATE@...>
I do not have any problem with item 1) on your wish list as long as I don't
[#47559] Ruby Bot — Giuseppe Bilotta <bilotta78@...>
Hello,
Well, with rbot 0.9.4 there was an error about SIGHUP not being a
[#47585] equivalent of python's __debug__ — David Garamond <davegaramond@...>
python can compile in two modes, normal and optimized. in optimized
[#47598] ruby-dev summary 17965-18021 — Minero Aoki <aamine@...>
Hi all,
[#47618] drb -- distrib'd ruby and marshalling, question about methods — john@... (John van V.)
Hello, I have been moving perl objects around for years and I was very
[#47640] Perl -> Ruby: assistance wanted (offlist) — "Hal E. Fulton" <hal9000@...>
Hello all...
[#47643] thread control — "Shashank Date" <ADATE@...>
I am trying to write a ruby script (Ruby 1.7.2 mswin32) which does the
[#47669] Data_Make_Struct and ALLOC Considered Harmful? — billtj@... (Bill Tj)
Hi,
[#47680] quines (again) — "Bill Kelly" <billk@...>
Hi,
[#47688] the power of ruby — AW <sturmpanzer@...>
Hi,
[#47695] What makes a "good" Ruby extension? — Tim Hunter <cyclists@...>
So I'm reading the "Comparing Gui Toolkits" wiki page
Tim Hunter wrote:
> I think this is a question that a lot of Ruby programmers struggle
[#47749] What New Language After Ruby? — William Djaja Tjokroaminata <billtj@...>
To Andrew Hunt and David Thomas:
Although activity seems to have died down, here are some links
Hi,
Thanks a lot, Marcin, for the valuable information. The description on
On Fri, 2002-08-23 at 15:18, William Djaja Tjokroaminata wrote:
Hi,
Hi,
Nat Pryce <nat.pryce@b13media.com> writes:
Hi,
[#47757] Puzzeled by Range object — Robert McGovern <duemoko@...>
I was just writing an example for the "power of ruby" thread, using ranges.
[#47767] RE: Some comments on the 167-1 installer — Andrew Hunt <andy@...>
>Rich says:
[#47799] select on solaris — Jeff Putsch <putsch@...>
Howdy,
[#47802] ANN: scanf for Ruby — "Hal E. Fulton" <hal9000@...>
This is the product of the Austin Ruby Codefest 2002,
[#47817] A Repeat: New Language After Ruby? — William Djaja Tjokroaminata <billtj@...>
Hi,
The lsnguage you mention most is C. Why not learn advanced C?
Peter Hickman <peter@semantico.com> writes:
[#47826] RE: select on solaris — "Berger, Daniel" <djberge@...>
[#47842] Newbie question. How to install a new package? — Giuseppe Bilotta <bilotta78@...>
Well, I installed URI by simply popping it into the \lib\ directory,
[#47864] nohup -g and ruby-1.6.7 on Solaris9 — Hugh Sasse Staff Elec Eng <hgs@...>
Given the following:
[#47867] RE: Newbie question. How to install a new package? — CRIBBSJ <CRIBBSJ@...>
[#47888] RE: Newbie question. How to install a new package? — CRIBBSJ <CRIBBSJ@...>
> -----Original Message-----
[#47918] Win32 Scripting — Sean Middleditch <elanthis@...>
Hi,
----- Original Message -----
On Fri, Aug 23, 2002 at 02:36:48AM +0900, Sean Middleditch wrote:
[#47932] Can I write to DATA? — Jim Freeze <jfreeze@...>
Hi:
[#47945] Paul Graham essay on language popularity — HotFusionMan@... (Albert Davidson Chou)
I don't read the list/group anymore, so I'm not sure whether this
[#47958] Tk and Gtk — Robert Warning <cleeker@...>
Okay this isn't exactly a ruby question, but in the near future I want
Sean Middleditch wrote:
[#47995] converting rows into structs — Eugene Scripnik <Eugene.Scripnik@...>
I have a methods that converts all DB rows into structs using Struct
On 2002.08.23, Eugene Scripnik <Eugene.Scripnik@itgrp.net> wrote:
Friday, August 23, 2002, 2:19:53 PM, you wrote:
On 2002.08.23, Eugene Scripnik <Eugene.Scripnik@itgrp.net> wrote:
[#48000] Converting Perl scripts to Ruby? — Giuseppe Bilotta <bilotta78@...>
Is there some (semi)automatic way to attempt such a thing? Or does it
[#48001] new ruby from cvs — Eugene Scripnik <Eugene.Scripnik@...>
I installed new ruby 1.7.2 (2002-08-21) from cvs and get warning in
[#48013] Perl Exegesis 5 — "Mike Wilson" <wmwilson01@...>
You can find the Perl Exegesis 5 here:
In article <F249FbCUalRlUwViKaZ000117d8@hotmail.com>,
At 3:19 AM +0900 8/24/02, Phil Tomson wrote:
On Sat, Aug 24, 2002 at 03:37:04AM +0900, Dan Sugalski wrote:
[#48035] Why Ruby Uses Mark-and-Sweep GC? — William Djaja Tjokroaminata <billtj@...>
Hi,
[#48062] Ruby and Judy — Joseph McDonald <joe@...>
Joseph McDonald wrote:
[#48082] Distributed Object Container — junderdown@... (Jason Underdown)
Is anyone out there in the Ruby community working on an object
----- Original Message -----
> J2EE - more specifically, EJB - enables those nice things like pooling,
> > But how can you have Enterprise *Java(tm)* Beans without, well,
>
"Gavin Sinclair" <gsinclair@soyabean.com.au> wrote in message news:<000201c24d03$2caa8ad0$0c6332d2@nosedog>...
> Yes, you are right, J2EE is just a standard implemented by several app
> > Yes, you are right, J2EE is just a standard implemented by
[#48114] CompareByValue — Ryan King <rking@...>
I put a challenge up at:
On 2002.08.25, Ryan King <rking@panoptic.com> wrote:
On 2002.08.25, Dossy <dossy@panoptic.com> wrote:
On 2002.08.27, Ryan King <rking@panoptic.com> wrote:
On 2002.08.29, Dossy <dossy@panoptic.com> wrote:
[#48165] RDoc: .png files are empty — Joel VanderWerf <vjoel@...>
[#48168] warning modifying constant & 'global constant' — David Garamond <davegaramond@...>
1. if someone attempts to modify a constant, why does ruby choose to
[#48217] Getting list of classes in a module? — Philip Mak <pmak@...>
How do I get the list of all classes that are defined in a module
[#48219] Tk scrollbar with elided text — Albert Wagner <alwagner@...>
I am using a TkText as a base for an editor, with folding implemented by using
[#48223] Ruby Based App Server — junderdown@... (Jason Underdown)
I posted a similar question a few days ago, but didn't get any
> I've worked on web applications built on the J2EE platform as well as
[#48227] Bug report: $irbrc does not affect IRB — Brian Marick <marick@...>
In both the IRB from Ruby 1.6.4 and irb-0.9-02.07.03.tgz from RAA,
[#48233] Question about Ruby extension API — "Bennett, Patrick" <Patrick.Bennett@...>
I've looked all over but can't find the function call for doing a simple =
[#48234] Hybrid hash and array? — Philip Mak <pmak@...>
When programming radio buttons on a website, I find myself using this
[#48264] Ruby developers: help push RPKG development and usage forward!! (it is like CPAN.pm, only Ruby) — itsnewsforme@... (M S)
A big complaint from people looking into Ruby is that they don't see
Intro: sorry for the long post, I wanted to speak, hope you won't mind
>>>>> "M" == M S <itsnewsforme@yahoo.ca> writes:
Actually, it would be nice to have them online, but not necessarily
On Tue, Aug 27, 2002 at 09:39:32PM +0900, Rich Kilmer wrote:
http://kt-www.jaist.ac.jp/~ttate/ruby/ruby-dl.html
On Tue, 2002-08-27 at 19:32, Rich Kilmer wrote:
You can just install it in another directory and then go to that
uh, sorry, how do i get 1.7.2? i tried anonymous cvs but it said NO. did
Nightly CVS snapshot:
just complied and drew up an error:
From Tom Sawyer <1030511597.793.982.camel@silver>
Hi,
thanks matz,
On Tue, Aug 27, 2002 at 06:47:30PM +0900, ts wrote:
[#48274] ANN: RJudy-0.1 - Judy Arrays for Ruby — Lyle Johnson <lyle@...>
All,
[#48320] compile time type checking — "Volkmann, Mark" <Mark.Volkmann@...>
I think the main reason that languages such as Ruby, Python, Perl and TCL
[#48333] Temporary VALUE Needs to Be Protected? — William Djaja Tjokroaminata <billtj@...>
Hi,
[#48352] c-api: rb_str_new — Matthias Veit <matthias_veit@...>
[#48420] Is anybody working on a ruby compiler (rb->exe) — "Kontra, Gergely" <kgergely@...>
Hi!
[#48434] RE: Is anybody working on a ruby compiler (rb->exe) — christopher.j.meisenzahl@...
[#48446] How to read files in all subdirectories? — Kurt Euler <keuler@...>
Ruby experts:
[#48467] Novice needs help with FX Ruby — lucidlife@... (ck)
Hi,
ck wrote:
[#48468] Compile error — "C. David Wilde" <cdw@...>
Hello,
[#48477] Newbie converting brain from perl — William Pietri <william-news-383910@...>
[#48494] next statement — "David Douthitt" <DDouthitt@...>
I thought there was a way to use "next" (or similar) to escape an arbitrary=
[#48521] Ruby/DL with GTK gtk_signal_connect — Tom Sawyer <transami@...>
hi all, i'm working with Ruby/DL, binding to GTK. it is very cool. but i
[#48544] Best GC for Ruby? — "Justin Johnson" <justinj@...>
Hi,
[#48556] RE: Is anybody working on a ruby compiler (rb->exe) — christopher.j.meisenzahl@...
> > >Cool... but are there any english docs on exerb? How
-----BEGIN PGP SIGNED MESSAGE-----
On Fri, Aug 30, 2002 at 08:14:20AM +0900, michael libby wrote:
[#48558] gethostbyname() requires reverse lookup to work? — Paul Brannan <pbrannan@...>
We ran into a problem last night where we could ping a host, telnet to
[#48564] YAML.rb 0.40 -- Circular references, Emitter enhancements — yamlrb@...
Aha! A new YAML.rb is out at long last: >
[#48573] FXRuby Threading Problem Solved? — Lyle Johnson <lyle@...>
All,
[#48584] suggestions to the Ruby community — stibbs <stibbs@...>
Hi, first i would like to state that i absolutely love Ruby more than any
I've encountered the same complaints from my co-workers and
instead of everyone writing your own documentation, wouldnt a wiki
-----BEGIN PGP SIGNED MESSAGE-----
> >I was surprised just now to find that there is no absolute requirement
-----BEGIN PGP SIGNED MESSAGE-----
Hi
[#48633] Can We Pass Block from Function to Function? — William Djaja Tjokroaminata <billtj@...>
Hi,
[#48648] How to write scripts with plug-in support [long] — gabriele renzi <surrender_it@...>
Hi all,
[#48657] ICFP Programming Contest — Alan Chen <alan@...>
http://icfpcontest.cse.ogi.edu/task.html
On Sat, 31 Aug 2002, Alan Chen wrote:
[#48678] proper upgrade to 1.7.3 — Tom Sawyer <transami@...>
so i went ahead and started moving over to 1.7.
[#48703] RE: suggestions to the Ruby community — "Pe, Botp" <botp@...>
> From: JamesBritt [mailto:james@jamesbritt.com]
> James, you've said it all (kindly and clearly, too).
[#48705] Ruby aesthetics — vegai@...
Hello. I've been checking into python lately quite a lot, and I
----- Original Message -----
My two reasons for disliking Python's aesthetics:
Gavin Sinclair (gsinclair@soyabean.com.au) wrote:
Hi,
----- Original Message -----
Yukihiro Matsumoto graced us by uttering:
>
On Wed, 2002-09-04 at 02:56, Gavin Sinclair wrote:
> On Wed, 2002-09-04 at 02:56, Gavin Sinclair wrote:
----- Original Message -----
I am really amazed if Ruby is really compared against Java, especially in
----- Original Message -----
On Thu, 5 Sep 2002, Hal E. Fulton wrote:
Hi,
On Thu, 5 Sep 2002, William Djaja Tjokroaminata wrote:
Paul Prescod wrote:
Hi,
On Thursday 05 September 2002 12:08 pm, Christian Szegedy wrote:
Hi,
On Fri, 6 Sep 2002, William Djaja Tjokroaminata wrote:
I think we have communicated very well; I agree with all you said. May I
On Fri, 6 Sep 2002, William Djaja Tjokroaminata wrote:
Hi Matz,
Hi,
On Sat, 7 Sep 2002, Yukihiro Matsumoto wrote:
Hello --
----- Original Message -----
Hi,
Re: ANN: RJudy-0.1 - Judy Arrays for Ruby
"Joseph McDonald" <joe@vpop.net> wrote in message
news:67659612452.20020827105228@vpop.net...
> Another datapoint:
> Time to insert 1000000 words into a JudySL array: 6907858.0 usec.
>
> Doing the same with a straight C program took 3 seconds. I think the
> extra 3.9 seconds is spent in rubyland doing this:
I did a test of different 32 bit key to 32 bit data. If someone would add
more datastructures to this test, such as Judy, I'd be interested.
Below is the log I wrote during the test.
Mikkel
<snip>
Comparison of skiplist, stl map, BTree and Hash table.
All tests are 32bit key, 32bit value maps with no duplicates.
Speed
Machine Pentium II 300MHz with 500MB SDRAM.
The size of dataset was chosen to avoid excessive trashing when having
several containers in the air simultanously.
The output is shown below.
The test run stores and retrieves
500000 unique keys
one run is with sequential numbers 0, 1,... 499,999
one run is with randome numbers (rand() * rand()) with duplicates stripped,
totalling
500,000 different values.
Surprisingly, all the maps seems to prefer the linear values.
But the relative performance between the maps differs signicantly between.
STL is generally a factor 3, 4 (insert,find) off the hashtable.
The BTree is twice as fast as the hashtable at insertion with linear keys,
and about the same in search speed. The hashtable is probably spending time
growing its bucket table to reduce collisions, but quality of hash also
matters.
With random keys, the BTree is 1.7,2.7 slower than the Hash.
Since the hash is constant time, it is faster for larger keys, but it also
uses more
memory. Both are friendly to disk cache. It is difficult to measure, but the
BTree
is probably faster than the hash for small sets. This will require a
different test.
Note that the BTree has a preferred nodesize around 14 elements both at
leafs and internally.
There suspected reasons:
1) CPU cachelines 2) the cost of moving data during insertion and 3) each
node is searched
in a tight linear loop. The node could be larger if the search were binary,
but it is only
faster after at least 100 entries per node and at that point the factors 1),
2) starts to set
in. For dumping the tree to disk, it would be possible to flatten nodes.
The skiplist does not perform consistently. It can be 8 times slower than
the
hashtable at find random keys, and 2 times slower than STL
(which in turn is 4 times slower than hash). For insert it is equal to STL
in insertion.
But with linear keys it inserts as fast as the Hash (where the BTree is
twice as fast).
It finds at half the speed of the hash and 1.6 off the BTree.
Compared to the STL map, the skiplist is very fast with 0.3 times the insert
time of overhead
and still twice as fast at finding.
When searching, it always has to visit a node to decide its key. Compare
this to the BTree,
which caches the keys of the childnodes in the parent node. This makes for a
very fast scan.
The BTree could save space by visiting the childnodes, but it would be
slower - like the skiplist.
The skiplist has no locality. The skiplist could be transposed to a BTree
like structure such
that each level is stored in one more linked buffers on disk. This would add
locality.
It may be interesting to see if this also works in memory - it could make
the skiplist as fast
or faster than the BTree without the complexity.
Code complexity
All collections are implemented by me,
except the STL map which is from Microsoft Visual Studio 7.0.
The BTree is very complex. It uses 100K of code - although this is covers
some testcode and various
optional behaviour such as topdown instead of bottom insertions etc.
The STL map is probably a red/black tree but this has not been investigated.
Both the BTree and the STL map are too complex to easily customize for
special purposes.
The Skiplist and the Hashtable both uses 3-400 lines of code and are both
easy to adapt
to special purposes.
Memory
The Hashtable does not take op many lines of code. It grows dynamically so
it can start small.
But it is not significantly faster for small datasets so some other
collections may be preferable
here. It has some overhead in that the empty hash with no entries still
keeps 10 32bit values for
handling its buffers. It can start with a small buffer of say 4 to 8
entries. Each entry consumes
4 32bit values. The hashbucket adds 50% by having twice the number of
entries, each using a
single 32bit value. Hence Each entry uses 6 32bit values. With an initial
size of 4 entries,
this amounts to 10 + 6 * 4 = 34 32bit values. This is about the same as the
BTree for the initial
storage - but it also uses two allocations which may have allocation
overhead.
When the Hashtable grows, it consitently adds 6 32bit values per entry,
which is expensive.
When the BTree grows, it uses 2 32bit values per leaf entry and some node
overoverhead, say 25%
and much less if nodes are chosen large. Due to the large branchfactor, the
size of the parent
nodes can be ignored. For binary tries there would be as many internal nodes
as leaf nodes.
Without exact calculations, lets to just estimate the overhead to be no more
than 50% in total.
This yields 3 32bit values per entry. However, BTrees may be half empty.
Estimating 75% usage,
this roughly becomes 4 32bit values per entry.
The skiplist which uses 2 32bit values per entry for key/value, plus 1.3
pointers per node.
It has only a single null pointer in its empty state. It needs a header
which is a least the
size of the smallest node. This translates into a smallest entry of 3 + 3 =
6 32bit values,
pluts the pointer to the handle. Since the header is chosen slightly larger
to avoid reallocation
immediately, this makes a total of 8 32bit values with a single entry.
This is 3 or 4 times less than than a BTree and a Hashtable initial entry.
A guess is that the STL map uses about 5 32bit values per node: key, value,
left, right, color.
Although the color could be stored as a tagged pointer reducing this to 4
32bit values.
An initial entry including the actual map variable will probably be about 8
32bit values,
and it will grow with about 4 32bit values per entry.
The BTree has the most cachefriendly nature because it keeps locality and
frequently used
paths down the tree has a good chance of a cache hit. The Hashtable shows
that storing data
in a single dynamically growing buffer also works well.
The performance tests does not tell how the BTree would work compared to the
hashtable for
real usage. Here all the values are visited. It is expected that the BTree
will perform better
on actual data access due to its cachefriendly nature. Likewise, it is
expected that
the skiplists and STL maps are not too kind on the cache, and some of this
probably also shows
in the performance numbers.
Data
dump with 500,000 linear keys
(never mind the dump saying random - it is linear)
=============================
This first measure creates a CPU independent time measure
and measures operations relative to the cost of creating a key
Time to create 5000000 keys
0.3 seconds, relative time 1.0
Time to insert 500000 random values into STL map
2.7 seconds, relative time 92.9
Time to find 500000 random values in STL map
1.4 seconds, relative time 47.3
Time to insert 500000 random values into skiplist
0.8 seconds, relative time 27.3
Time to find 500000 random values in skiplist
0.7 seconds, relative time 23.5
Time to insert 500000 random values into BTree
0.4 seconds, relative time 13.5
Time to find 500000 random values in BTree
0.4 seconds, relative time 14.5
Time to insert 500000 random values into hashtable (single-keyed)
0.7 seconds, relative time 25.6
Time to find 500000 random values in hashtable
0.4 seconds, relative time 12.1
----
STL / Hash insert ratio: 3.6
STL / Hash find ratio: 3.9
BTree / Hash insert ratio: 0.5
BTree / Hash find ratio: 1.2
BTree / STL insert ratio: 0.1
BTree / STL find ratio: 0.3
SkipList / Hash insert ratio: 1.1
SkipList / Hash find ratio: 1.9
SkipList / BTree insert ratio: 2.0
SkipList / BTree find ratio: 1.6
SkipList / STL insert ratio: 0.3
SkipList / STL find ratio: 0.5
=============================
dump with 500,000 unique random keys
=============================
Time to create 5000000 keys
0.3 seconds, relative time 1.0
Time to insert 500000 random values into STL map
3.0 seconds, relative time 103.6
Time to find 500000 random values in STL map
2.1 seconds, relative time 70.8
Time to insert 500000 random values into skiplist
3.3 seconds, relative time 115.3
Time to find 500000 random values in skiplist
4.0 seconds, relative time 139.5
Time to insert 500000 random values into BTree
1.5 seconds, relative time 53.2
Time to find 500000 random values in BTree
1.3 seconds, relative time 44.6
Time to insert 500000 random values into hashtable (single-keyed)
0.9 seconds, relative time 31.1
Time to find 500000 random values in hashtable
0.5 seconds, relative time 16.6
----
STL / Hash insert ratio: 3.3
STL / Hash find ratio: 4.3
BTree / Hash insert ratio: 1.7
BTree / Hash find ratio: 2.7
BTree / STL insert ratio: 0.5
BTree / STL find ratio: 0.6
SkipList / Hash insert ratio: 3.7
SkipList / Hash find ratio: 8.4
SkipList / BTree insert ratio: 2.2
SkipList / BTree find ratio: 3.1
SkipList / STL insert ratio: 1.1
SkipList / STL find ratio: 2.0
=============================
</snip>