[#14459] Overloading Constructors. — "Florian G. Pflug" <fgp@...>
Hi
Hi,
On Tue, May 01, 2001 at 10:20:23AM +0900, Yukihiro Matsumoto wrote:
Hi,
[#14464] who uses Python or Ruby, and for what? — ellard2@...01.fas.harvard.edu (-11,3-3562,3-3076)
A while ago I posted a request for people to share their experiences
Its interesting that people consider the number of
On Tue, 1 May 2001 10:27:58 +0900, Bryan Zarnett <bryan_zarnett@yahoo.ca> wrote:
[#14517] RAA — ptkwt@...1.aracnet.com (Phil Tomson)
[#14552] emacs and ruby debugging — "Joseph McDonald" <joe@...>
[#14555] Ruby as a Mac OS/X scripting language — Dave Thomas <Dave@...>
I was looking at OS/X yesterday and although the sales
I'm confused by people saying that there is no scripting language for Mac OS
Applescript is there, as is Perl. I guess (IMHO) that
[#14557] Arggg Bitten by the block var scope feature!!! — Wayne Scott <wscott@...>
>
[#14598] Re: Arggg Bitten by the block var scope feature!!! — "Conrad Schneiker" <schneik@...>
# On Thu, 3 May 2001, Wayne Scott wrote:
On Fri, 4 May 2001, Conrad Schneiker wrote:
On Fri, May 04, 2001 at 08:51:32AM +0900, David Alan Black wrote:
[#14600] Design by contract — "J J" <jj5412@...>
Any interest/thoughts on implementing simple design by contract in Ruby?
[#14601] bizarre File open, read, close problem on Win98? — ptkwt@...1.aracnet.com (Phil Tomson)
[#14609] scope of base class instance variable — "Chochain Lee" <cclee@...>
Hi,
[#14629] Database Abstraction Framework — "Florian G. Pflug" <fgp@...>
Hi
[#14636] Yet another "About private methods" question — Eric Jacoboni <jacoboni@...2.fr>
I'm still trying to figure out the semantics of private methods in Ruby.
Eric Jacoboni <jaco@teaser.fr> writes:
Greetings from a newbie,
On Sat, 5 May 2001, Chris Montgomery wrote:
On Tue, 8 May 2001, Guy N. Hurst wrote:
"Guy N. Hurst" <gnhurst@hurstlinks.com> writes:
On Tue, 8 May 2001, MJ Ray wrote:
[#14663] Vote for anime character — "Gudrun Heinrichmeyer" <Gudrun.Heinrichmeyer@...>
I vote for a modern friendly symbol clearly associated with japan, the animcharacter.
[#14683] Class refresher please. — "John Kaurin" <jkaurin@...>
class B
[#14689] ranges — "Joseph McDonald" <joe@...>
[#14699] local/nonlocal block vars — "Hal E. Fulton" <hal9000@...>
Well, I don't think I ever put in my (full) two cents...
[#14710] Why's Ruby so slow in this case? — Stefan Matthias Aust <sma@3plus4.de>
Sure, Ruby, being interpreted, is slower than a compiled language.
[#14740] have I messed up my setup, or are these real irb problems? — Dave Thomas <Dave@...>
[#14743] ANTLR rules for Ruby — matz@... (Yukihiro Matsumoto)
Hi,
matz@zetabits.com (Yukihiro Matsumoto) writes:
[#14753] Re: Ruby on AIX? — "Conrad Schneiker" <schneik@...>
Sean Rusell wrote:
[#14762] skipping arguments — touch freedom <stillflame@...>
this is going to be a stream of thought, not really one coherant question. i am sorry(or 'you are welcome', in some cases).
[#14768] SimpleDelegator assymetry — Robert Feldt <feldt@...>
Hi folks,
[#14777] Completely freaky behavior — "J J" <jj5412@...>
I've got a class that sets a variable in a method like so:
[#14780] AW: Re: SimpleDelegator assymetry — Wyss Clemens <WYS@...>
...does your solution remove obsolete methods?
[#14792] Integer division oddness — "Mike T. Miller" <mtm@...>
My father pointed out this oddity.
[#14793] Polymorphic methods — "J J" <jj5412@...>
In C++ you can have polymorphic methods such as
[#14825] [Q] Why module methods are NOT included by 'include' statement? — Leonid Razoumov <see_signature@127.0.0.1>
Ruby has a powerful 'include some_module' statement which imports into the
[#14881] Class/Module Information — "John Kaurin" <jkaurin@...>
It is possible to modify the following code to produce
[#14932] Re: Automatic inclusion of modules — "rashworth" <rashworth@...>
What is your translation of:
[#14945] ICQ LIB for Ruby — "Anders Johannsen" <anders@...>
Hi
[#15004] Re: Standard practices for module distribution — Renald Buter <buter@...>
On Fri, May 11, 2001 at 04:40:00PM +0100, ruby-talk@ruby-lang.org wrote:
Renald Buter wrote:
Ok, the synapsis aren't firing so well today.
[#15005] Re: Mascot/Icon Ruby Laser — "Conrad Schneiker" <schneik@...>
Furio R Filoseta wrote:
[#15006] Komodo support for Ruby? — Brian Sobolak <sobolak@...>
On Sat, 12 May 2001, Brian Sobolak wrote:
[#15011] DRuby/Rinda/TupleSpace Dokumentation — "Florian G. Pflug" <fgp@...>
Hi
# Is there any documentation of DRuby/Rinda/TupleSpace in english?
[#15034] Re: calling .inspect on array/hash causes core dump — ts <decoux@...>
>>>>> "A" == Andreas Riedl <viisi@chello.at> writes:
Question 1
[#15043] Can't compile 1.7 — Urban Hafner <the-master-of-bass@...>
Hello,
[#15047] Ruby/GTK question and future RAA suggestions — "Conrad Schneiker" <schneiker@...>
Hi,
[#15056] Syntax highlighting — Stephan K舂per <Stephan.Kaemper@...>
Hi,
[#15057] ncurses-bindings — Stefan Nobis <stefan@...>
Hi.
[#15069] Flushing TkText — "John Kaurin" <jkaurin@...>
I am converting a command line program that had
[#15071] bytecode compilation — Steven Haryanto <steven@...>
Hi folks,
Not exactly what you want, but look at ruby2c (rb2c)
[#15096] [Q] Rroc#arity ambiguity. Is it a bug? — Leo <slonika@...>
Hi experts,
[#15101] Re: Ruby on AIX? — Christian Szegedy <szegedy@...>
Here is a solution:
[#15115] Q: GUI framework with direct drawing capabilities? — Stefan Matthias Aust <sma@3plus4.de>
Hi!
Stefan Matthias Aust <sma@3plus4.de> writes:
[#15125] Re: How do I alias a class method? — Mathieu Bouchard <matju@...>
On Tue, 15 May 2001, Mathieu Bouchard wrote:
On Tue, 15 May 2001, David Alan Black wrote:
[#15162] Regexp (a\1) — ts <decoux@...>
[#15173] Re: Discussion on new Ruby features — Christian Szegedy <szegedy@...>
Dave Thomas wrote:
[#15174] class << self — Hans-Dieter Stich <hdstich@...>
hi!
Hans-Dieter Stich <hdstich@commplex-media.de> writes:
[#15193] Re: Discussion on new Ruby features — Christian Szegedy <szegedy@...>
Angus McIntyre wrote:
[#15197] Re: Discussion on new Ruby features — Christian Szegedy <szegedy@...>
Dave wrote:
[#15198] Re: Q: GUI framework with direct drawing ca pabilities? — Steve Tuckner <SAT@...>
Would it be a good idea to develop a pure Ruby GUI framework built on top of
-----BEGIN PGP SIGNED MESSAGE-----
[#15216] Re: Discussion on new Ruby features — "Christian Szegedy" <szegedy@...>
matz wrote:
[#15234] Pluggable sorting - How would you do it? — "Hal E. Fulton" <hal9000@...>
Hello all,
Hi,
Wayne Scott <wscott@bitmover.com> writes:
From: Dave Thomas <Dave@PragmaticProgrammer.com>
Is there a built in way to turn an array
[#15235] Bug or feature? eval("x=5") — "Hal E. Fulton" <hal9000@...>
Hello Rubyists...
[#15272] Re: Discussion on new Ruby features — "Benjamin J. Tilly" <ben_tilly@...>
>===== Original Message From matz@zetabits.com (Yukihiro Matsumoto) =====
[#15290] Ruby in Java — Glen Starchman <glen@...>
[#15318] — "Michael Dinowitz" <mdinowit@...2000.com>
subscribe michael dinowitz
[#15325] help with rubyunit — Max Ischenko <max@...>
[#15333] how to use garbage collection relyably? — viisi@... (Andreas Riedl)
hi!
[#15364] Re: Time.times problems in libc5; getrusage request — ts <decoux@...>
>>>>> "G" == Guy N Hurst <gnhurst@hurstlinks.com> writes:
[#15366] UnMac — Chris Moline <ugly-daemon@...>
Hi, I was reading the anti mac paper that showed up on slashdot and figured why not?? For those who don't follow slashdot, the paper was about alternative interfaces. In this case an interface similar to the ones found in text adventure games. I think this is a cool idea. A sample session would be
On Fri, May 18, 2001 at 10:56:41PM +0900, chad fowler wrote:
[#15391] PROPOSAL: Java-like method-based synchronization mechanism in Rub y — Wyss Clemens <WYS@...>
Hi all,
[#15394] Re: Ruby in Java — ts <decoux@...>
>>>>> "M" == Mathieu Bouchard <matju@sympatico.ca> writes:
[#15403] how to remove method from singleton class — Joel VanderWerf <vjoel@...>
[#15434] A proto-RCR: making def and class rvalues — Dave Thomas <Dave@...>
[#15438] Newbye question: retrieving a Class by its classname — "Benoit Cerrina" <benoit.cerrina@...>
Hi,
[#15448] RCR: #const_name_is — Mathieu Bouchard <matju@...>
[#15456] more reflection — Mathieu Bouchard <matju@...>
Hi,
On Mon, 21 May 2001, Yukihiro Matsumoto wrote:
[#15470] Re: Embedding Ruby - Segfaults? — ts <decoux@...>
>>>>> "S" == Sean Middleditch <elanthis@users.sourceforge.net> writes:
[#15474] Ruby catching error signals — Sean Middleditch <elanthis@...>
Hi again!
[#15493] One for the FAQ — "Matthew Bloch" <mattbee@...>
initialize NOT initialise, dammit :-) The error message:
[#15511] Tk Bitmaps — "John Kaurin" <jkaurin@...>
The following code works when I use a bitmap from the Ruby Tk demos kit
[#15512] Newbie GC question — Ashley Roeckelein <ashley.DONT@...>
Hi,
[#15549] ColdFusion for Ruby — "Michael Dinowitz" <mdinowit@...2000.com>
I don't currently use Ruby. To tell the truth, I have no real reason to. I'd
[#15569] I like ruby-chan ... — Rob Armstrong <rob@...>
Ruby is more human(e) than Python. We already have too many animals :-).
----- Original Message -----
On Wed, 23 May 2001, Hal E. Fulton wrote:
[#15590] Re: -lX11 error installing Ruby — ts <decoux@...>
>>>>> "C" == Collins Richey <erichey2@home.com> writes:
[#15599] Language specification reference — Lothar Scholz <llothar@...>
Hello,
[#15601] How to avoid spelling mistakes of variable names — ndrochak@... (Nick Drochak)
Since Ruby does not require a variable to be declared, do people find
ndrochak@gol.com (Nick Drochak) writes:
On Thu, 24 May 2001, Dave Thomas wrote:
Jim Freeze <jim@freeze.org> writes:
[#15602] Interactive Ruby II — Mario Lang <mlang@...>
Hello.
[#15615] help attr_reader — bashar asad <baasad@...>
hello;
[#15633] Q: Function modification/Procedures — Daishi Harada <daishi@...>
Hi,
[#15646] Disabling stderr — "Tom Spilman" <tspilman@...>
Is there a way to keep Ruby from sending exception info to the stderr
[#15683] Newbie: each! — Martin Julian DeMello <mdemello@...>
I'm trying to write an each! iterator that will iterate over an object
[#15688] every body wants java — bashar asad <baasad@...>
its really frustrating when you try to look for a job noadays.... you know so
[#15704] gnome, bonobo and corba. — Erik B虍fors <erik@...>
Hi all,
[#15708] regexp — ts <decoux@...>
[#15725] Wow! (impressed newbie) — sjr3a@... (Stephen Ramsay)
I just got the Programming Ruby book a few days ago and have been reading it
[#15734] java based interpreter and regexes — "Wayne Blair" <wayne.blair@...>
I have been thinking about the java based ruby interpreter project, and I
>
Does anyone have any experience with javacc? I've been playing with it and
[#15735] Compilation helper — Sean Middleditch <elanthis@...>
Hi!
[#15738] Ruby globbing problem? — Guillaume Cottenceau <gc@...>
[#15754] Challenges of java interpreter — "Wayne Blair" <wayne.blair@...>
"Stefan Matthias Aust" <sma@3plus4.de> wrote:
"Wayne Blair" <wayne.blair@relian.com> wrote:
[#15782] Subsets of a set — Harry Ohlsen <harryo@...>
I know that the Array class has a number of methods that make it usable
[#15793] Check a few characters of a string: How? — "Franz GEIGER" <fgeiger@...>
Want to check the first or last character of a string or say any character
[#15804] is it possible to dynamically coerce objects types in Ruby? — mirian@... (Mirian Crzig Lennox)
Greetings to all. I am a newcomer to Ruby and I am exploring the
Hi,
In article <990979671.433370.24481.nullmailer@ev.netlab.zetabits.com>,
Hi,
In article <991006658.571333.26080.nullmailer@ev.netlab.zetabits.com>,
Hi,
In article <991014401.628418.26898.nullmailer@ev.netlab.zetabits.com>,
On Mon, 28 May 2001, Mirian Crzig Lennox wrote:
[#15828] subclassing Date — Michael Husmann <Michael.Husmann@...>
Using ruby 1.6.0 and trying to subclass the Date class like
[#15832] Can irb have smart completion? — Max Ischenko <max@...>
Hi,
[#15846] gtk/glib — Patrik Sundberg <ps@...>
hi,
[#15863] Experimental "in" operator for collections — Stefan Matthias Aust <sma@3plus4.de>
There's one thing where I prefer Python over Ruby. Testing whether an
[#15871] embedded ruby — Wesley J Landaker <wjl@...>
Hello list, =)
[#15886] Q about TrueClass & FalseClass — Stefan Matthias Aust <sma@3plus4.de>
Hi!
[#15894] Dir[] — "Todd Smith" <todd@...>
I can get a list of files to be returned from a line such as:
[#15923] Block arguments vs method arguments — Mike <mike@...>
Hi,
[#15925] Re: Block arguments vs method arguments — ts <decoux@...>
>>>>> "M" == Mike <mike@lepton.fr> writes:
----- Original Message -----
On Thu, May 31, 2001 at 11:53:17AM +0900, Hal E. Fulton wrote:
At 11:01 PM 5/31/2001 +0900, Sean Russell wrote:
In article <5.1.0.14.2.20010531160016.00aa8aa8@mail.vex.net>,
mirian@cosmic.com (Mirian Crzig Lennox) writes:
[#15947] Traffic seems to be up significantly — ptkwt@...1.aracnet.com (Phil Tomson)
[#15954] new keyword idea: tryreturn, tryturn or done — Juha Pohjalainen <voidjump@...>
Hello everyone!
[#15955] .scan() using '/' as the regular expression delimiter — "Luke Crook" <lcluke@...>
I am trying to parse an Apache log file. The date field looks like:
[#15960] Ruby Standard and Enterprise Edition — Bryan Zarnett <b@...>
One of the best "marketing" things that Java did was there standard and
[#15998] ruby-mode not hilighting keywords in XEmacs 21.4? — jeffrey@... (Jeffrey P Shell)
In a freshly-built XEmacs 21.4.3 with lots-o-packages installed,
[#16015] tryreturn - names and intentions — Juha Pohjalainen <voidjump@...>
Hiya all again! :-)
[#16068] require and include confusion — Albert Wagner <alwagner@...>
I have totally confused myself about the relationship between require and
[#16087] linked list redux — Al Chou <hotfusionman@...>
Hi, all,
>Hi, all,
Johan Dahl <Johan.Dahl@ling.lu.se> writes:
[ruby-talk:14710] Why's Ruby so slow in this case?
Sure, Ruby, being interpreted, is slower than a compiled language.
But I didn't expect that it is soo slow! To practice Ruby, I took the
C source of a simple PBEM strategy game (Russell Wallace's Rainbow's
End to be exact) and rewrote it in Ruby. That was fun and easy.
However, the following code needs more than 15 minutes to complete
while the original C source runs in less than one second!
I wonder whether there are some ways to optimize this code other than
to completely change the algorithm. Or can the Ruby interpreter be
improved? I'm using Ruby 1.6.4 if that matters.
This method shown below is where all the time is spend. It generates
a new map (consisting of 35x35 hexagonal fields) for the game using
the following algorithm: In the beginning, all fields are water
fields. One random field is designated as mountain. Now, a loop starts
which first calculates a set of fields which are the shore line and
second picks one random field of that set. That new field gets
assigned a random terrain type and the loop continues until half of
the map became land.
def initmap
count = $mapsize * $mapsize
$hexes = (0...count).map{Hex.new}
$hexes[rand(count)].terrain = Terrain::Mountain
for i in 0...(count / 2 - 1)
a = []
for h in 0...count
if offshore(h) then a << h end
end
h = a[rand(a.length)]
$hexes[h].terrain =
case rand(3)
when 0; Terrain::Plain
when 1; Terrain::Forest
when 2; Terrain::Mountain
end
end
end
def offshore(h) #private
if $hexes[h].iswater
for d in 0..5
h2 = displace(h, d)
if h2 >= 0 && !$hexes[h2].iswater
return true
end
end
end
false
end
I profiled the code and here's the result.
% cumulative self self total
time seconds seconds calls ms/call ms/call name
24.65 255.12 255.12 101328 2.52 7.51 Object#displace
10.64 365.24 110.12 101328 1.09 1.63 Object#onmap
10.58 474.77 109.53 18949 5.78 156.36 Range#each
7.01 547.27 72.50 101328 0.72 0.97 Object#even
5.73 606.56 59.29 92238 0.64 0.90 Object#xytoh
4.53 653.49 46.93 110044 0.43 0.55 Object#htoy
4.49 699.92 46.44 110044 0.42 0.55 Object#htox
4.36 745.02 45.10 116328 0.39 0.50 Hex#iswater
3.99 786.30 41.28 299016 0.14 0.14 Fixnum#>=
3.88 826.45 40.15 320307 0.13 0.13 Array#[]
3.62 863.95 37.50 304378 0.12 0.12 Fixnum#+
2.65 891.41 27.47 199575 0.14 0.14 Fixnum#<
2.48 917.11 25.69 220668 0.12 0.12 Fixnum#==
2.28 940.71 23.61 24975 0.95 38.81 Object#offshore
...
BTW, is there a way to profile just a part of a program? These
numbers are for the complete run of the program. However I don't
think that the other parts of the program are significant.
Obviously, most time is spent in displace(), a method to find one of
the six neighbor fields of a hex field. Because the game uses hex
fields, finding a valid neighbor field is somewhat tricky. Here's
that method
def displace(h, d)
x, y = htox(h), htoy(h)
case d
when 0
y -= 1
when 1
y -= 1 if even(x)
x += 1
when 2
y += 1 if odd(x)
x += 1
when 3
y += 1
when 4
y += 1 if odd(x)
x -= 1
when 5
y -= 1 if even(x)
x -= 1
end
if onmap(x, y)
xytoh(x, y)
else
-1
end
end
def xytoh(x, y)
y * $mapsize + x
end
def htox(h)
h % $mapsize
end
def htoy(h)
h / $mapsize
end
That method is called quite often, but that's life. I tried to
optimize it using an offset table
Displacetable_x = [ 0, 1, 1, 0, -1, -1]
to speed up calculating
x = htox(h) + Displacetable_x[d]
but that doesn't really help. The problem IMHO is that all that tiny
method calls take their time and this sums up. For example, I don't
really understand why a simple method like
def onmap(x, y) #private
x >= 0 && x < $mapsize && y >= 0 && y < $mapsize
end
needs more than 1 ms per call! So this method alone is responsible
for some 2 minutes of execution time. A similar argument is true for
the other methods. And why are the "0..5.each" (or is it the
"(0...(count/2)-1).each" call?) calls so expensive? Replacing them
with "[0, 1, 2, 3, 4, 5].each" also didn't help.
I tried to simulate the onmap() function in Squeak Smalltalk, a
language which is also just interpreted, garbage-collected, 100%
object oriented (and at least as cool as Ruby) and that system needs
just 0.13 s for 100.000 calls
| x y |
MapSize := 35.
x := y := 4.
Time millisecondsToRun: [
100000 timesRepeat: [
x >= 0 and: [x < MapSize and: [y >= 0 and: [y < MapSize]]]]]
=> 125
I'd like to understand why Ruby is 100 times slower than the slowest
Smalltalk. VisualWorks Smalltalk needs just 20ms for 100.000 calls,
BTW.
If it's just the interpreter, wouldn't it be an idea to implement Ruby
on top of Squeak, using that obviously more sophisticated bytecode
interpreter, garbage collector and runtime system?
bye
--
Stefan Matthias Aust \/ Truth Until Paradox