[#10209] Market for XML Web stuff — Matt Sergeant <matt@...>

I'm trying to get a handle on what the size of the market for AxKit would be

15 messages 2001/02/01

[#10238] RFC: RubyVM (long) — Robert Feldt <feldt@...>

Hi,

20 messages 2001/02/01
[#10364] Re: RFC: RubyVM (long) — Mathieu Bouchard <matju@...> 2001/02/05

[#10708] Suggestion for threading model — Stephen White <spwhite@...>

I've been playing around with multi-threading. I notice that there are

11 messages 2001/02/11

[#10853] Re: RubyChangeRequest #U002: new proper name for Hash#indexes, Array#indexes — "Mike Wilson" <wmwilson01@...>

10 messages 2001/02/14

[#11037] to_s and << — "Brent Rowland" <tarod@...>

list = [1, 2.3, 'four', false]

15 messages 2001/02/18

[#11094] Re: Summary: RCR #U002 - proper new name fo r indexes — Aleksi Niemel<aleksi.niemela@...>

> On Mon, 19 Feb 2001, Yukihiro Matsumoto wrote:

12 messages 2001/02/19

[#11131] Re: Summary: RCR #U002 - proper new name fo r indexes — "Conrad Schneiker" <schneik@...>

Robert Feldt wrote:

10 messages 2001/02/19

[#11251] Programming Ruby is now online — Dave Thomas <Dave@...>

36 messages 2001/02/21

[#11469] XML-RPC and KDE — schuerig@... (Michael Schuerig)

23 messages 2001/02/24
[#11490] Re: XML-RPC and KDE — schuerig@... (Michael Schuerig) 2001/02/24

Michael Neumann <neumann@s-direktnet.de> wrote:

[#11491] Negative Reviews for Ruby and Programming Ruby — Jim Freeze <jim@...> 2001/02/24

Hi all:

[#11633] RCR: shortcut for instance variable initialization — Dave Thomas <Dave@...>

13 messages 2001/02/26

[#11652] RE: RCR: shortcut for instance variable initialization — Michael Davis <mdavis@...>

I like it!

14 messages 2001/02/27

[#11700] Starting Once Again — Ron Jeffries <ronjeffries@...>

OK, I'm starting again with Ruby. I'm just assuming that I've

31 messages 2001/02/27
[#11712] RE: Starting Once Again — "Aaron Hinni" <aaron@...> 2001/02/27

> 2. So far I think running under TextPad will be better than running

[#11726] Re: Starting Once Again — Aleksi Niemel<zak@...> 2001/02/28

On Wed, 28 Feb 2001, Aaron Hinni wrote:

[ruby-talk:10835] Re: perform. of Dir["**/*"]

From: "Richard Hensh" <hensh@...>
Date: 2001-02-14 13:37:38 UTC
List: ruby-talk #10835
I apologize in advance if some of these questions have been answered here
before.

matz was kind enough to provide me with a hacked version of one of the
source files (dir.c - see [ruby-talk: 10794]) from the distribution. Since
I'm working in the windows world, I had been using pre-compiled binaries but
I took this as an opportunity to compile from source. I believe that I was
successful. Using matz's suggestion here are the results of successive runs
of the script dir_list.rb (included below):

> dir_list.rb
24776 files
30.383 seconds

> dir_list.rb
24776 files
18.336 seconds

Even though I'm not seeing the times that matz quotes, this is a huge
performance increase on my box (Pentium 800 w/ 256 mg on win2k) and I'm
happy. Now I have a couple of questions.

1. Does anyone know what will happen to the 'hacked' version on dir.c in
future releases of ruby? Or do I need to keep track of that file myself?
(This question may not even be correctly phrased but I'm not a C/C++
programmer.)

2. On a related issue, as far as ruby extensions go, I've noticed 3
approaches. The distributions come with either 'setup.rb', 'extconf.rb', or
a 'makefile'. I can't tell why one method is chosen over another. Can anyone
help me out here?

3. Now that I've compiled ruby it will be difficult to return to the
precompiled versions so I'm guessing that I'll need a better understanding
of the make (nmake) utility (and probably 'patch' as well). I have a bunch
of questions related to the make utility. Can anyone suggest a general FAQ
regarding these so that I don't have to bother this group with OT questions?
;->


thanks
ricky


...
<snip>
...

|Now that someone has straightened me out on the use of **, I have a
|performance question. Running the following script on my C: drive took
about
|497 seconds. The drive contains 32701 files. Is this slow?

Slow.  Since it had to create 32701 string objects, GC intervals
became burden.  On my Linux box,

  % ruby -e 'p Dir.glob("**/*").length'

took 1m43sec.  OTOH,

  % ruby -e 'GC.disable; p Dir.glob("**/*").length'

took 1m13sec.

Then I hacked to reduce memory consumption by using block,
so that now

  % ruby -e 'GC.disable; n = 0; p Dir.glob("**/*"){n+=1}; p n'

takes 4.08sec.  Here's the patch from the latest.

							matz.

...
<snip>
...

dir_test.rb:

def testme
  GC.disable
  n=0
  a=Time.now
  #puts Dir["**/*"].length
  Dir.glob("**/*"){n+=1}
  b = Time.now
  puts n + ' files'
  puts b-a + 'seconds'
end

Dir.chdir("c:")
testme

In This Thread