[#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:15815] Re: java based interpreter and regexes

From: Stefan Matthias Aust <sma@3plus4.de>
Date: 2001-05-27 22:40:05 UTC
List: ruby-talk #15815
Sean Russell <ser@maus.germane-software.com> wrote:

>If this true, the 1.4 VM is literally an order of magnitude faster than the
>1.3 VM, or else the Windows VM is a better implementation than the Linux
>VM.  I find this last option a bit odd, because IBM's 1.3 VM for Linux was 
>supposed to be the fastest for non-GUI apps, although I last checked this
>several months ago.
>
>How does the 1.4 VM perform memory-wise?  The 1.3 VM is a memory hog under
>Linux.

1.4 should be at least as fast as 1.3, it might include some debug
code as it's still a beta.  I've heard reports both that 1.4 is
significantly faster and slower than the 1.3.1 production release.

>> 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.
>
>Wow.  25% faster.  Not bad, but this still doesn't account for the Java
>regex package being two to four times as fast as the Ruby version.

However, if the RubyWin version is faster than the GCC version, this
probably means either that VC++ is a better compiler than GCC on
Windows or that the GCC isn't using the best compiler optimization
flags.

>Yes, and no.  Swing is comparatively slow, no matter what you do.

But this isn't a problem of the Java VM but of the Swing and AWT
architecture.  Erich Gamma (of Pattern fame) used to give talks about
this topic, explaining the problems and talking about why OTI has
chosen a different strategy for their VisualAge product line.

The main reason is the way AWT interacts with the host os.  Sun is
slowly fixing this problem, but the problem is the event queue and how
damage events are propagated.

>Yes, everything you say is true.  It does get into the larger discussion of
>comparing apples to apples (OO to OO), but I'm still confused about your
>results which indicated that interpreted OO code is faster than native 
>functional code.

Java isn't interpreted.

>> GC, done right, is faster than the typical manual malloc/free memory
>> management, especially if we're talking about millions of small
>> objects.
>
>Yeah, but we aren't.  We're talking about a single, tight loop on static
>stringes.

Java is performing 28 GCs while running the benchmark (spending some
60 ms in GC), reducing the heap each time by 500 KB.  This means, if I
understand the statistics, the benchmark is generating and throwing
away objects worth of 14 MB.  I'd guess that's some 300.000 objects.

So don't assume there're no objects involved :-)

>On the other hand, Ruby uses GC as well... is Ruby's GC
>mechanism more efficient than Java's?

Definitely not!  Ruby, I think, uses a simple Mark&Sweep GC.  Hotspot
eventually uses a modern generation scavenger type of GC.  This is a
complex beast combining the best features of Stop&Copy and
Mark&Compact algorithms together with special treatment for
short-lived and long-lived objects.  I'm not sure, whether Java's GC
is also incremental (like the GCs of good Smalltalk and LISP systems).
I think, it's an optional feature for Java which still slightly
decreases performance.

>I'd like to see some other, more complete benchmarks of Ruby vs. Java,
>particularly of Ruby methods which are known to be implemented in native
>code.

Me too.

>Thanks for the discussion, Stefan.

You're welcome.  It's fun.

bye
-- 
Stefan Matthias Aust \/ Truth Until Paradox

In This Thread