[#16113] Strange idea... exporting from a scope — "Hal E. Fulton" <hal9000@...>
Hello...
Hi,
matz@zetabits.com (Yukihiro Matsumoto) writes:
Hi,
matz@zetabits.com (Yukihiro Matsumoto) writes:
On Thu, 7 Jun 2001, Dave Thomas wrote:
[#16140] (?i:) in regexp — ts <decoux@...>
>>>>> "Y" == Yukihiro Matsumoto <matz@zetabits.com> writes:
[#16144] Re: Strange idea... exporting from a scope — hfulton@...
> |> I'm too lazy to type in "exprt" and variable name. so I'm
Hi,
[#16155] Re: Block arguments vs method arguments — hfulton@...
> | { | local, :up | }
[#16172] The Block Problem -A suggestion — Chris Moline <ugly-daemon@...>
Hi, I was thinking about our discussion and came up with an idea that might
[#16229] Re: String#scan strange behavior — ts <decoux@...>
>>>>> "W" == Wayne Blair <wayne.blair@relian.com> writes:
[#16245] line numbers in multiline regular expressions. — jonas <jonas.bulow@...>
Hi,
[#16259] Timezone in Time::{local,gm} — Stoned Elipot <Stoned.Elipot@...>
Hello,
[#16271] Re: odd obj.send behaviour — ts <decoux@...>
>>>>> "P" == Patrik Sundberg <ps@radiac.mine.nu> writes:
[#16283] ruby and fox — Albert Wagner <alwagner@...>
Just curious if anyone else in ruby-talk is attempting to use the fox GUI. I
[#16317] Re: ruby regex — ts <decoux@...>
>>>>> "D" == David Thiel <dthiel@nexprise.com> writes:
[#16325] Tcl string map lookalike — Wilbert Berendsen <wbsoft@...4all.nl>
Hi,
[#16364] Re: Garbage Collection? — Michael Davis <mdavis@...>
Windows 2000 and linux (RedHat 6.2). I have run these tests on both OSs.
[#16380] Method objects fail equivalence — mirian@... (Mirian Crzig Lennox)
I was surprised to observe the following:
Hi,
[#16400] Symbolic Computation III — Mathieu Bouchard <matju@...>
> ----- Original Message -----
>----- Original Message -----
On Tue, 12 Jun 2001, Wayne Blair wrote:
[#16415] Ruby - Objective C - GNUstep — Laurent Julliard <Laurent.Julliard@...>
So here is my story:
[#16433] Re: Inital Q's on Ruby grammar — ts <decoux@...>
>>>>> "R" == Robert Feldt <feldt@ce.chalmers.se> writes:
[#16462] Opinion sought: parsing non-regular languages — Robert Feldt <feldt@...>
(This is a bit long...)
Robert Feldt <feldt@ce.chalmers.se> writes:
On Thu, 14 Jun 2001, Dave Thomas wrote:
[#16489] Verify correct lexing of delimited strings — Robert Feldt <feldt@...>
Hi all,
[#16502] Playing with Ruby Syntax (was: Initial thoughts about Ruby From a Smalltalk Programmer) — jweirich@...
Michael> Hi Everyone, I have to say I'm utterly fascinated by Ruby
jweirich@one.net writes:
[#16503] walking the ruby_frame list — victor <victor@...>
Hi,
Hi,
On Sat, Jun 16, 2001 at 10:56:30PM +0900, Yukihiro Matsumoto wrote:
[#16505] Smalltalk vs. Ruby — Steve Tuckner <SAT@...>
I have never used Smalltalk so I have no knowledge of its use on a day by
[#16528] why only nil and false are regarded as false? — Steven Haryanto <steven@...>
I would appreciate some explanation on why Ruby behaves like
[#16540] Trapping method defs — Robert Feldt <feldt@...>
Hi all,
[#16556] Method overloading - How? — Uwe Lammers <Uwe.Lammers@...>
Hi,
[#16565] Configuration file parsing — "Anders Johannsen" <anders@...>
I'm currently writing an application in Ruby, which needs a
[#16567] [TOY] reversed regexp — ts <decoux@...>
[#16583] Two (or more) dimensional arrays? — "Kirk Lowery" <klowery@...>
After reading my way through various documentation, I didn't find any
[#16591] RCR: Enumerable: every() and none() — Hugh Sasse Staff Elec Eng <hgs@...>
I've been off the list for a while but I'm dipping back in to suggest:
[#16599] RE: RCR: Enumerable: every() and none() — "Benjamin J. Tilly" <ben_tilly@...>
>===== Original Message From Hugh Sasse Staff Elec Eng <hgs@dmu.ac.uk> =====
[#16604] Creating arrays — Chris Moline <ugly-daemon@...>
Hi, I was wondering why do we have to do this
[#16634] mascot — redwolf <arm3@...>
The Ruby Crowned Kinglet is perfect!!!
[#16640] Re: Commenting code — Alvaro Segura <asegura@...>
James Kanze wrote:
[#16646] Serial Communications — Wai-Sun Chia <waisun.chia@...>
Hello Rubyists,
[#16657] bag difference — Hugh Sasse Staff Elec Eng <hgs@...>
Is there an elegant way to do a bag diffeence between 2 arrays, rather
[#16661] Problem running irb with Ruby 1.6.4 under FreeBSD 4.0 — Bob Alexander <balexander@...>
I've installed Ruby 1.6.4 on a FreeBSD 4.0 machine, and get the
Yukihiro Matsumoto wrote:
Hi,
In article <993579597.067351.15583.nullmailer@ev.netlab.zetabits.com>,
[#16662] installation option — Hung-Hsien Chang <hubert@...>
Hi!
[#16669] how to call super from singleton method? — viisi@... (Andi Riedl)
hi!
[#16681] RE: embedding C++ — Wyss Clemens <WYS@...>
Have you tried using SWIG?
[#16686] opening db files made by apache dbmmanage — Fritz Heinrichmeyer <fritz.heinrichmeyer@...>
[#16714] DBI 0.0.5 problem — "Krzysztof P. Jasiutowicz" <kpj@...>
Krzysztof P. Jasiutowicz wrote:
[#16715] File.flock blocks forever — Michael Witrant <mike@...>
Hello,
[#16723] setsockopt options — Joseph McDonald <joe@...>
Hi,
Hi,
[#16726] Simulating call-by-reference in Ruby — senderista@... (Tobin Baker)
I'm currently working on Ruby bindings for ORBit and thought that it
[#16737] socket bug — Joseph McDonald <joe@...>
Joseph McDonald <joe@vpop.net> writes:
[#16763] uniq and "equivalence" — Hugh Sasse Staff Elec Eng <hgs@...>
Array.uniq seems to rely on deleting multiple references to the same object.
>>>>> "H" == Hugh Sasse Staff Elec Eng <hgs@dmu.ac.uk> writes:
On Fri, 22 Jun 2001, ts wrote:
>>>>> "H" == Hugh Sasse Staff Elec Eng <hgs@dmu.ac.uk> writes:
[#16788] pretty printing with enscript? — Albert Wagner <alwagner@...>
By chance, has anyone done a pretty printing file for ruby in enscript?
[#16792] wrapping structures — Martin Chase <stillflame@...>
hey ruby hackers,
[#16799] Problems compiling FOX for Ruby (FXRuby) on NetBSD — Michael Neumann <neumann@...>
Hi,
[#16801] rb_define_class() vs Class.new() — Kero van Gelder <kero@...4050.upc-d.chello.nl>
Hi,
>>>>> "K" == Kero van Gelder <kero@d4050.upc-d.chello.nl> writes:
> K> From C, rb_define_class() defines a named class, however, on the Ruby
>>>>> "K" == Kero van Gelder <kero@d4050.upc-d.chello.nl> writes:
> >>>>> "K" == Kero van Gelder <kero@d4050.upc-d.chello.nl> writes:
>>>>> "K" == Kero van Gelder <kero@d4050.upc-d.chello.nl> writes:
> irb> B = a
>>>>> "K" == Kero van Gelder <kero@d4050.upc-d.chello.nl> writes:
[#16810] [BUG?] Kernel::load wrap parameter — Patrik Sundberg <ps@...>
(CC any replies to me please - not subscribed and have crappy newsserver)
[#16841] RE: national characters is strings — "Aleksei Guzev" <aleksei.guzev@...>
Next week I'll try to rebuild Ruby with Unicode strings. But it would be
Hi,
That's good enough. But I'm afraid this could ( not would ) cause string
Hi,
I'll help as soon as You call. I like C++ much more than Assembler :)))
Hi,
I've taken a look at m17n.
[#16861] Re: Problems compiling FOX for Ruby (FXRuby) on NetBSD — "Lyle Johnson" <ljohnson@...>
> I didn't get FXRuby (Ruby interface for FOX GUI Toolkit) available from
[#16868] Something strange with Ruby's inheritance mechanism — Eric Jacoboni <jaco@...>
As Ruby beginner, i try some "canonical" OO scripts. Doing so, I've
On Tue, 26 Jun 2001, Aleksei Guzev wrote:
[#16869] Something strange with Ruby's inheritance mechanism — Eric Jacoboni <jaco@...>
As Ruby beginner, i try some "canonical" OO scripts. Doing so, I've
[#16881] — "Aleksei Guzev" <aleksei.guzev@...>
Hi,
On Wed, 27 Jun 2001, Yukihiro Matsumoto wrote:
Hi,
On Thu, 28 Jun 2001, Yukihiro Matsumoto wrote:
Hi,
ts <decoux@moulon.inra.fr> writes:
Hi,
[#16885] Re: Something strange with Ruby's inheritance mechanism — Eric Jacoboni <jaco@...>
>>>>> "Mathieu" == Mathieu Bouchard <matju@sympatico.ca> writes:
[#16888] finalizers, destructors and whatnot — "David Leal" <david@...>
Hi all,
[#16973] Extension building — Tony Smith <tony@...>
I'm just getting started with Ruby and my first comment is "at last!". I've
[#16976] Introspection and 'where's the source'? — Johann Hibschman <johann@...>
Hi,
[#16982] RCR for the String class — Joseph McDonald <joe@...>
[#16991] eruby (or equiv) for windows? — "Derek Hamilton" <derek@...>
I am new to ruby so forgive me if this question has already been =
[#17002] FOX subclassing FXTextField and messages — Ralf Canis <rc@...>
Hello,
[#17004] the evolution of Ruby itself — Tobias Reif <tobiasreif@...>
Hi all;
Yukihiro Matsumoto <matz@ruby-lang.org> wrote:
[#17008] Re: Poll results — Srecko.Howard@... (Srecko Howard)
Hi all
[#17020] Re: RCR for the String class — Steve Tuckner <SAT@...>
> While I'm complaining, I prefer Java's IO class hierarchy to Ruby's, too.
[#17027] sigprocmask — Joseph McDonald <joe@...>
[#17037] keeping an Exception object alive — David Alan Black <dblack@...>
Hello --
Hi,
Hello --
Hi,
Hello --
Hi,
Hello --
>>>>> "D" == David Alan Black <dblack@candle.superlink.net> writes:
Hello --
>>>>> "D" == David Alan Black <dblack@candle.superlink.net> writes:
On Mon, 2 Jul 2001, ts wrote:
[#17059] "cvs commit" from within ruby — Clemens Wyss <wys@...>
I am trying to commit a file from within a ruby script (automation
[#17069] Is the ruby GC compacting ? — Lothar Scholz <llothar@...>
Or can i safely assume that a reference to a Ruby object is always the
[#17080] (cvs?) configure / make problems — Kero van Gelder <kero@...4050.upc-d.chello.nl>
Hi!
> > fails
[#17091] ensure block not being executed — Joseph McDonald <joe@...>
I'm afraid You stop not the script but You stop the interpreter with ^C.
"Aleksei Guzev" <aleksei.guzev@bigfoot.com> writes:
Then what is MessageQueue? (I haven't foud it at my Ruby sources )
[#17102] Ruby on a PDA — Tobias Reif <tobiasreif@...>
Hi all;
[#17110] Re: Ruby on a PDA — Kent Dahl <kentda@...>
Tobias Reif wrote:
[ruby-talk:16877] Re: Fwd: Some quick benchmarks on scripting languages
Hi Wesley,
Thanks for posting the benchmark info! I found it very interesting.
I ran the same benchmarks with Visual C++ on Windows 2000, and also
changed the C++ source to be more efficient.
Thursday, June 21, 2001, 2:55:04 PM, you wrote:
WJL> All data is in seconds.
WJL> System:
WJL> HP Vectra, PIII 733MHz, 128MEG RAM
WJL> Red Hat Linux 7.1
WJL> g++ 2.96
WJL> Ruby 1.6.4
WJL> SUMMARY:
WJL> C++ Tcl Perl Python Ruby
WJL> v append: .146 8.85 1.33 4.28 1.10
WJL> v append and read: .212 14.8 3.04 6.15 2.30
WJL> v append and iterate: .159 ---- 2.13 5.21 1.65
I ran the C++ and Ruby tests on this system:
Tyan Thunderbolt motherboard, dual PIII 500MHz, 1 Gig RAM
Windows 2000 Professional SP 1
Visual C++ 6 SP4, Release builds (optimized)
Ruby 1.6.3
And got these results:
C++ C++ Ruby
resize
v append: .093 .046 1.80
v append and read: .109 .062 3.73
v append and iterate: .109 .062 2.80
The first C++ column uses the same source you used. (Well, actually I
had to make one small change. When I first ran these tests, all three
tests, "append", "append and read" and "append and iterate" took
exactly the same amount of time. This seemed odd, as the second and
third tests are clearly doing more work than the first test. Upon
investigation, I found out that the optimizer wasn't generating any
code for the second loop in these tests:
for (int i=0; i<1000000; i++) {
int b = a[i];
}
The optimizer realized that this loop had no effect on the results of
the program, and deleted it completely. I fixed this by making b into
a global:
int b;
int main(int argc, char* argv[])
{
// ...
for (int i=0; i<1000000; i++) {
b = a[i];
}
This is a recurrent problem with C and C++ benchmarks, in that the
optimizer often deletes portions of the benchmark program.)
I also made a change to speed up the execution of the C++ code. In
the original source, the elements are added to the vector like this:
vector<int> a;
for (int i=0; i<1000000; i++) {
a.push_back(i);
}
If the final size of the vector is known in advance, it is more
efficient to first resize the vector to the desired size:
vector<int> a;
a.resize(1000000);
for (int i=0; i<1000000; i++) {
a[i] = i;
}
The "C++ resize" column above makes this change to the source, which
then runs about twice as fast. (I have appended my modified sources below)
WJL> Even more fascinating is that the C++ implementation runs out of
WJL> memory at 16 million elements. Ruby is able to create a vector of 25
WJL> million elements and read the contents back (unless Ruby is lying to
WJL> me).
I would expect C++ to behave like this. The C++ Standard requires
vector implementations to be able to append an element to the end of
a vector in amortized constant time. Since this will sometimes
cause a memory reallocation, which takes considerable time, the
obvious way to meet the requirement of the standard (and, as far as I
know, the way all implementations do it) is to allocate twice as much
memory every time the same vector is resized. This way, the reallocation
happens after 2 elements, then after 4 elements, then after 8 elements,
etc. This yields the infinite series 1/2 + 1/4 + 1/8 + 1/16 + ...
which asymptotically approaches 1, thus meeting the amortized
constant time requirement.
If your system has space for 25 million elements, then when the vector
grows beyond 16 million elements, C++/STL tries to allocate 32 million
elements, which fails. (Actually, if it can't just extend the
existing memory block, it temporarily needs space for 16 + 32 million
elements.)
I tried this on my system, which has more RAM, and Ruby could allocate
an array of 30 million elements, but couldn't allocate 31 million
elements. C++ could allocate 133 million elements when adding them one
at a time with
a.push_back(i);
When I tried doing
a.resize(230000000);
C++ could allocate 230 million elements.
Thanks!!!
Wayne Vucenic
No Bugs Software
"High Reliability C++ and Ruby (!!!) Contract Programming in Silicon
Valley"
***************** VECTOR APPEND WITH RESIZE *********************
C++:
#include <vector>
#include <iostream>
using namespace std;
int main() {
vector<int> a;
a.resize(1000000);
for (int i=0; i<1000000; i++) {
a[i] = i;
}
cout << "finished" << endl;
return 0;
}
***************** VECTOR APPEND AND READ WITH RESIZE *****************
C++:
#include <vector>
#include <iostream>
using namespace std;
int b;
int main() {
vector<int> a;
a.resize(1000000);
for (int i=0; i<1000000; i++) {
a[i] = i;
}
for (i=0; i<1000000; i++) {
b = a[i];
}
cout << "finished" << endl;
return 0;
}
***************** VECTOR APPEND AND ITERATE WITH RESIZE *************
C++:
#include <vector>
#include <iostream>
using namespace std;
int b;
int main() {
vector<int> a;
a.resize(1000000);
for (int i=0; i<1000000; i++) {
a[i] = i;
}
vector <int>::iterator i1, iend1 = a.end();
for (i1 = a.begin(); i1!=iend1; i1++) {
b = *i1;
}
cout << "finished" << endl;
return 0;
}