[#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

12 messages 2001/05/01

[#14555] Ruby as a Mac OS/X scripting language — Dave Thomas <Dave@...>

10 messages 2001/05/02

[#14557] Arggg Bitten by the block var scope feature!!! — Wayne Scott <wscott@...>

13 messages 2001/05/02

[#14598] Re: Arggg Bitten by the block var scope feature!!! — "Conrad Schneiker" <schneik@...>

# On Thu, 3 May 2001, Wayne Scott wrote:

9 messages 2001/05/03

[#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.

39 messages 2001/05/04
[#14656] Re: Yet another "About private methods" question — Dave Thomas <Dave@...> 2001/05/04

Eric Jacoboni <jaco@teaser.fr> writes:

[#14666] Ruby and Web Applications — "Chris Montgomery" <monty@...> 2001/05/04

Greetings from a newbie,

[#14772] Re: Ruby and Web Applications — Jim Freeze <jim@...> 2001/05/07

On Sat, 5 May 2001, Chris Montgomery wrote:

[#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.

12 messages 2001/05/05

[#14881] Class/Module Information — "John Kaurin" <jkaurin@...>

It is possible to modify the following code to produce

18 messages 2001/05/09

[#15034] Re: calling .inspect on array/hash causes core dump — ts <decoux@...>

>>>>> "A" == Andreas Riedl <viisi@chello.at> writes:

15 messages 2001/05/12

[#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

13 messages 2001/05/15

[#15234] Pluggable sorting - How would you do it? — "Hal E. Fulton" <hal9000@...>

Hello all,

16 messages 2001/05/16

[#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

12 messages 2001/05/22

[#15569] I like ruby-chan ... — Rob Armstrong <rob@...>

Ruby is more human(e) than Python. We already have too many animals :-).

15 messages 2001/05/23

[#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

13 messages 2001/05/23

[#15734] java based interpreter and regexes — "Wayne Blair" <wayne.blair@...>

I have been thinking about the java based ruby interpreter project, and I

48 messages 2001/05/25

[#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

13 messages 2001/05/27
[#15807] Re: is it possible to dynamically coerce objects types in Ruby? — matz@... (Yukihiro Matsumoto) 2001/05/27

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

13 messages 2001/05/28

[#15925] Re: Block arguments vs method arguments — ts <decoux@...>

>>>>> "M" == Mike <mike@lepton.fr> writes:

43 messages 2001/05/29
[#16070] Re: Block arguments vs method arguments — "Hal E. Fulton" <hal9000@...> 2001/05/31

----- Original Message -----

[#16081] Re: Block arguments vs method arguments — Sean Russell <ser@...> 2001/05/31

On Thu, May 31, 2001 at 11:53:17AM +0900, Hal E. Fulton wrote:

[#16088] Re: Block arguments vs method arguments — Dan Moniz <dnm@...> 2001/05/31

At 11:01 PM 5/31/2001 +0900, Sean Russell wrote:

[#15954] new keyword idea: tryreturn, tryturn or done — Juha Pohjalainen <voidjump@...>

Hello everyone!

12 messages 2001/05/29

[ruby-talk:15775] Re: java based interpreter and regexes

From: Stefan Matthias Aust <sma@3plus4.de>
Date: 2001-05-26 21:40:05 UTC
List: ruby-talk #15775
Hi Sean,

Sean Russell <ser@maus.germane-software.com> wrote:

>Hm.  I was comparing Ruby 1.6.4 against IBM's Java 1.3 on Linux.
>My benchmarks were from my office computer (200Mhz CPU 128Mb RAM).

I was using a PII 450 with 256 MB running Windows 98.

>Java runtime: 14.794s	(Sun's JDK 1.3 w/ Hotspot)
>Java runtime: 15.070s	(IBM's JDK 1.3)
>Ruby runtime:  4.707s	(Ruby 1.3)

Funny, we get nearly the same time for Ruby even if my system should
be twice as fast as yours.  I compiled my Ruby on cygwin with whatever
"configure; make; make install" sets (-g -O2).

>Interestingly, the VM initialization and other code overhead only added
>about another second on my machine, according to 'time'.

Please note that I was using java 1.4 which is known to be slower on
the startup.  Whatever, I also can't really believe the measured
result.

>I'm *really* suspicious of this.  Have you tried compiling Ruby with a
>different compiler?

I've only GCC available.  Wait, I've also RubyWin (based on version
1.6.2 I think).  It takes 3.5s for the benchmark.

>I'd also consider whether or not Sun's regex package 
>is as complex or complete as the Ruby (or even org.apache or gnu.regex) 

As I wrote, I think it's based on the jakata project's (apache) regex
package.  Just check out the hyperlink I posted.

>I, too, agree with this statement, although speed *is* an issue.

Sure.

>The reason that Java hasn't become the defacto application language is 
>primarily because of the speed issue (IMO).

I'd say it's also because most people (including some developers at
Sun) don't know how to write fast OO applications, but that's a
different topic :-)  

>>[dynamic recompilation based on type feedback can beat static optimization]

>I'd be willing to debate this point.  Most C compiler optimizing
>algorithms are highly tuned.

The papers about the SELF project are very interesting to read.  Don't
get me wrong, a good static compiler can do amaizing things, but only
for static programs.  They often fail on dynamic object-oriented
languages.  Don't compare static C programs with more dynamic
object-oriented solutions.  The goal is to make these programs to run
nearly as fast - without removing the dynamic.  SELF succeeded here.
Other languages like Dylan or Cecil also reaches this goal.  Even Java
can reach it as all technology is well known.  Sun has "just" to
implement it.  Hotspot is one important step here.

>Heuristic JIT compilers typically do a
>good job at making the JIT itself efficient by determining *what* to compile,
>but don't improve much on the basic optimizing algorithms themselves.

Well, they can and the will.  The best static compiler cannot inline
virtual methods, a dynamic recompiling system will.  It is able to
remove nearly all polymorphism from a program - but just behind the
scene.  It's no option to let the programmer do this (as in C++).

>Fundamentally, Java has a lot of overhead that slows things down.

All this is unfortunately off topic, but no, this is too general as it
could be true.  If you compare the programs with the same semantic,
Java isn't slow.  Don't make the mistake to compare an unchecked array
access with Java's checked access.  I always want the security to
never get any buffer overrun error (security problem number one in the
C-based server world!) and only the JIT is allowed to remove the check
if it can prove that the array bounds are never violated.

>Object allocation, garbage collection, 

GC, done right, is faster than the typical manual malloc/free memory
management, especially if we're talking about millions of small
objects.

>With most of the time (of this program) being spent in native code on the
>Ruby side, if we can prove that your benchmarks are not the result of a
>fluke (Cygwin is anti-optimizing, Sun is cheating by having the regex
>code in a native library, or some such nonsense)

I'd really like to see somebody else to try the benchmark using JDK
1.4 and checking whether I made a mistake.


bye
-- 
Stefan Matthias Aust \/ Truth Until Paradox

In This Thread