[#68415] eval'ing a config file — Ian Macdonald <ian@...>

Hi,

19 messages 2003/04/01

[#68421] sharing objects between tests (revisited?) — Paul Brannan <pbrannan@...>

I don't know if I've asked this on this list before or only on irc (I

13 messages 2003/04/01

[#68436] April Fools. — Daniel Carrera <dcarrera@...>

Hey guys and gals,

24 messages 2003/04/01

[#68449] Newbie question:read file speed — "Greg Brondo" <greg@...>

Why is ruby (on windows) so much slower at reading lines in a file (as

36 messages 2003/04/01

[#68527] Any Hardware/EDA engineers out there? — ptkwt@...1.aracnet.com (Phil Tomson)

12 messages 2003/04/03

[#68605] keeping track of non-exported global variables — "Simon Strandgaard" <0bz63fz3m1qt3001@...>

problem:

12 messages 2003/04/04

[#68623] To inherit or to include? That is the question. — Jim Freeze <jim@...>

Hi

11 messages 2003/04/04

[#68707] Call for standardised package installation procedure — google@... (Tom Payne)

I'm helping maintain Ruby and Ruby packages in Gentoo Linux.

57 messages 2003/04/06
[#68712] Re: Call for standardised package installation procedure — "James Britt" <james@...> 2003/04/06

> It would make my job a lot easier if just one were chosen, and perhaps

[#68729] Re: Call for standardised package installation procedure — "Hal E. Fulton" <hal9000@...> 2003/04/06

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

[#68738] Re: Call for standardised package installation procedure — google@... (Tom Payne) 2003/04/07

John Johnson <jj5412@earthlink.net> wrote in message news:<1049655145.1847.10.camel@hppav.home.net>...

[#68779] Re: Call for standardised package installation procedure — Austin Ziegler <austin@...> 2003/04/07

On Mon, 7 Apr 2003 16:47:20 +0900, Tom Payne wrote:

[#68781] Re: Call for standardised package installation procedure — Mauricio Fern疣dez <batsman.geo@...> 2003/04/07

On Tue, Apr 08, 2003 at 02:34:26AM +0900, Austin Ziegler wrote:

[#68826] Re: Call for standardised package installation procedure — Gavin Sinclair <gsinclair@...> 2003/04/08

On Tuesday, April 8, 2003, 3:42:49 AM, Mauricio wrote:

[#68803] Having trouble getting iconv-0.5 working on OS X — Sam Roberts <sroberts@...>

I do a make, install, and then:

10 messages 2003/04/08
[#68806] Re: Having trouble getting iconv-0.5 working on OS X — Nobuyoshi Nakada <nobu.nokada@...> 2003/04/08

Hi,

[#68811] Array Sutraction — Jim Freeze <jim@...>

Ok, this has been discussed at length previously,

25 messages 2003/04/08
[#68820] Re: Array Sutraction — "Robert Klemme" <bob.news@...> 2003/04/08

[#68828] Re: Array Sutraction — Michael Campbell <michael_s_campbell@...> 2003/04/08

>

[#68843] Ruby for graphics — "Your Name Here" <jim@...>

I just learned of Ruby, and was wondering if its a good lang for

17 messages 2003/04/08
[#68844] Re: [Q] Ruby for graphics — Michael Campbell <michael_s_campbell@...> 2003/04/08

--- Your Name Here <jim@fivek.com> wrote:

[#68908] The "!" and "?" characters. — Daniel Carrera <dcarrera@...>

One of the things I like about Ruby is that it can use ! and ? in method

22 messages 2003/04/08

[#68929] embedding ruby — emilie3012@... (Steve Hart)

Please forgive the following if answers appear elsewhere but I have

13 messages 2003/04/09

[#68943] unknown node type 0 — Francois GORET <fg@...>

Hello,

12 messages 2003/04/09

[#68996] ANN: ri v1.8 — Dave Thomas <dave@...>

I'm releasing a very preliminary version of 'ri' for Ruby 1.8. This

21 messages 2003/04/09

[#69025] tutorial on embedding ruby (review) — "Simon Strandgaard" <0bz63fz3m1qt3001@...>

What do you think about it ?

30 messages 2003/04/09

[#69054] PRIVATE AND CONFIDENTIAL — "Mr. John Eze" <mr_musa3@...>

16 messages 2003/04/10
[#69066] Re: PRIVATE AND CONFIDENTIAL — Peter Hickman <peter@...> 2003/04/10

As an aside not only would the origonal spam be removed by your rules,

[#69096] Need IO Optimization help — Jim Freeze <jim@...>

Hello:

69 messages 2003/04/10
[#69197] Re: Need IO Optimization help — ptkwt@...1.aracnet.com (Phil Tomson) 2003/04/11

In article <20030411115918.A35958@linnet.org>,

[#69239] Does dynamic typing make it easier to place an object in a container? — Mark Wilson <mwilson13@...> 2003/04/12

The following is from

[#69240] Re: Does dynamic typing make it easier to place an object in a container? — Joel VanderWerf <vjoel@...> 2003/04/12

Mark Wilson wrote:

[#69245] Re: Does dynamic typing make it easier to place an object in a container? — Ryan Pavlik <rpav@...> 2003/04/12

On Sat, 12 Apr 2003 13:40:07 +0900

[#69581] Re: Need IO Optimization help — David King Landrith <dave@...> 2003/04/17

In my experience, the fastest way to access files (by far) is mmap.

[#69583] Re: Need IO Optimization help — Jim Freeze <jim@...> 2003/04/17

On Thursday, 17 April 2003 at 19:29:16 +0900, David King Landrith wrote:

[#69591] Re: Need IO Optimization help — David King Landrith <dave@...> 2003/04/17

On Thursday, April 17, 2003, at 06:45 AM, Jim Freeze wrote:

[#69593] Re: Need IO Optimization help — Jim Freeze <jim@...> 2003/04/17

On Thursday, 17 April 2003 at 22:11:55 +0900, David King Landrith wrote:

[#69179] Two questions — "Steve Adams" <adamss@...>

What restrictions does the Ruby license place on the construction and sale

14 messages 2003/04/11

[#69194] splat question — "Chris Pine" <nemo@...>

(This question assumes that the unary `*' (used in arrays and such) is

13 messages 2003/04/11

[#69214] class documentation — "Bermejo, Rodrigo" <rodrigo.bermejo@...>

Hi all;

13 messages 2003/04/11

[#69271] Controlling an interactive program from Ruby — Daniel Carrera <dcarrera@...>

Hi,

12 messages 2003/04/13

[#69280] ruby_script() — "Simon Strandgaard" <0bz63fz3m1qt3001@...>

I am wondering what exactly ruby_script() is doing ?

15 messages 2003/04/13

[#69357] A class, that knows about it's instances + Sets — KONTRA Gergely <kgergely@...>

Hi!

11 messages 2003/04/14

[#69413] rb_class_new_instance behaves strange — "Simon Strandgaard" <0bz63fz3m1qt3001@...>

My code is behaving different, when im doing this change:

23 messages 2003/04/15

[#69424] Urgent Assistance — "Victor Aloma" <victorloma@...>

12 messages 2003/04/15

[#69439] ANN: Debian packages of FreeRIDE, FOX, FXRuby, Ripper, FXScintilla, etc — Mauricio Fern疣dez <batsman.geo@...>

9 messages 2003/04/15

[#69470] regular expressions — "Chris Pine" <nemo@...>

When I first learned regular expressions, they were no problem. It was in a

27 messages 2003/04/15

[#69518] Roundoff problem with Float and Marshal — cilibrar@... (Rudi Cilibrasi)

The following small test program:

29 messages 2003/04/16

[#69536] Reg. Expressios with "\n" — Daniel Carrera <dcarrera@...>

Hello,

14 messages 2003/04/16

[#69585] extension - redirect a block — student_vienna@... (daniel)

hello,

11 messages 2003/04/17

[#69595] ANN: ri 1.8b — Dave Thomas <dave@...>

I've updated ri:

14 messages 2003/04/17

[#69645] avoiding the module name — "Simon Strandgaard" <0bz63fz3m1qt3001@...>

11 messages 2003/04/17

[#69700] Biased weighted random? — "Hal E. Fulton" <hal9000@...>

Hi, all...

51 messages 2003/04/18

[#69762] Multi-Lingual Ruby — Jim Weirich <jweirich@...>

I was following a Java VS Perl discussion on a web board that I read.

12 messages 2003/04/20

[#69806] ASCII class inheritance tree generator — Simon Vandemoortele <deliriousNOSPAM@...>

I thought I might share this little piece of code that generates a

10 messages 2003/04/21

[#69830] Ruby in a university course — "Chad Fowler" <chadfowler@...>

Maybe this has already been covered here, but I found it interesting =

14 messages 2003/04/21

[#69931] Ruby.shop — "Hal E. Fulton" <hal9000@...>

Hello, all.

28 messages 2003/04/23

[#69956] grep and regular expressions in ruby — "Krishna Dole" <kpd@...>

I'm quite taken with ruby, but recently I ran into trouble using grep. I

15 messages 2003/04/23

[#69969] Subject: Re: [ANN] Ruby.shop — Jim Weirich <jweirich@...>

On Wed, 2003-04-23 at 18:16, Hal E. Fulton wrote:

18 messages 2003/04/24

[#70015] How to call an object instance's method? — Rene Tschirley <pooh@...>

Dear Ruby Experts,

28 messages 2003/04/24
[#70016] Re: How to call an object instance's method? — "Robert Klemme" <bob.news@...> 2003/04/24

[#70019] Re: How to call an object instance's method? — Rene Tschirley <pooh@...> 2003/04/24

Robert Klemme wrote:

[#70072] Re: How to call an object instance's method? — "Chris Pine" <nemo@...> 2003/04/24

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

[#70017] MathN — Dave Thomas <dave@...>

I'm trying to get to grips with the 'mathn' library. I can see what it

12 messages 2003/04/24

[#70034] block.call vs. yield — "Orion Hunter" <orion2480@...>

I noticed that the use of block/yield differs slightly when a "break" is

44 messages 2003/04/24
[#70046] Re: block.call vs. yield — matz@... (Yukihiro Matsumoto) 2003/04/24

Hi,

[#70087] Re: block.call vs. yield — matz@... (Yukihiro Matsumoto) 2003/04/25

Hi,

[#70113] Re: block.call vs. yield — dblack@... 2003/04/25

Hi --

[#70182] Re: block.call vs. yield — "Hal E. Fulton" <hal9000@...> 2003/04/26

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

[#70189] Re: block.call vs. yield — dblack@... 2003/04/26

Hi --

[#70039] Accessing Ruby class from C extention — ptkwt@...1.aracnet.com (Phil Tomson)

I know it's possible to write Ruby in C but is it possible to instantiate

16 messages 2003/04/24

[#70064] Hashes and Enumerable#each_with_index — Ryan Pavlik <rpav@...>

OK, looking at the archives I know this was discussed a few years ago,

16 messages 2003/04/24

[#70265] Generating a DLL file? — "Rich" <rich@...>

Let's start with:=20

22 messages 2003/04/27
[#70277] Re: Generating a DLL file? — "Rich" <rich@...> 2003/04/28

I don't know C - or C++... and I'd rather not learn.

[#70280] Re: Generating a DLL file? — Michael Campbell <michael_s_campbell@...> 2003/04/28

--- Rich <rich@lithinos.com> wrote:

[#70268] c++/ruby debugging advices — "Simon Strandgaard" <0bz63fz3m1qt3001@...>

Im embedding ruby into c++ and im having a segfault problem which

11 messages 2003/04/27

[#70422] Pass-by reference VS encapsulation ? — Simon Vandemoortele <deliriousREMOVEUPPERCASETEXTTOREPLY@...>

34 messages 2003/04/30

Re: Newbie question:read file speed

From: Brian Candler <B.Candler@...>
Date: 2003-04-07 22:58:24 UTC
List: ruby-talk #68794
On Tue, Apr 08, 2003 at 07:04:25AM +0900, Brian Candler wrote:
> However I suspect it would say the same: that it spends most of its time
> running a fetch-next-line loop, and a bit of time adding one to a counter
> :-) What it really needs is a C profiler.

...which turns out to be easier than I thought!

$ make clean
$ make CFLAGS=-pg
$ gcc -pg -rdynamic -L.   main.o  -lruby-static -lcrypt -lm   -o ruby
$ ./ruby ~/ruby/x.rb /usr/share/dict/words 
Elapsed = 5.885455965995789
$ gprof ./ruby

generates a vast output, edited highlights below.

In summary, of the 2.56 seconds total execution time:
  - 1.11 secs in rb_io_each_line and descendants
  - 0.71 secs in rb_yield_0 and descendants
  - 0.39 secs in rb_eval and descendants

and at a lower level:

  - 0.62 secs in rb_newobj (half str_alloc and half new_dvar)
  - of which 0.43 secs in rb_gc, called 34 times

So garbage collection is certainly an overhead, although how much less
reference-counting would be is hard to say. Mark-and-sweep has the important
advantage that it is much more likely to be implemented correctly :-)

The actual I/O is minimal - around 0.13 secs in fread and descendants.

Regards,

Brian.


                                  called/total       parents 
index  %time    self descendents  called+self    name           index
                                  called/total       children

[4]     98.7    0.94        1.59     144+1415800 <cycle 1 as a whole>   [4]
                0.01        1.10       1             rb_io_each_line <cycle 1> [10]
                0.28        0.43  235881             rb_yield_0 <cycle 1> [15]
                0.38        0.01  235882+707663      rb_eval <cycle 1> [19]
                0.11        0.00  236043             rb_call0 <cycle 1> [32]
                0.05        0.04  236043             call_cfunc <cycle 1> [38]
                0.09        0.00  236043             rb_call <cycle 1> [40]
                0.02        0.00  235881             rb_yield <cycle 1> [64]
                0.00        0.00       8             rb_obj_alloc <cycle 1> [191]
...

[10]    43.2    0.01        1.10       1         rb_io_each_line <cycle 1> [10]
                0.02        1.07  235882/235882      rb_io_getline [11]
                0.00        0.00       1/15          rb_io_taint_check [347]
                0.00        0.00       1/171         rb_io_check_closed [316]
                0.00        0.00       1/13          rb_io_check_readable [349]
                                  235881             rb_yield <cycle 1> [64]
...
[11]    42.7    0.02        1.07  235882         rb_io_getline [11]
                0.06        1.02  235882/235892      rb_io_getline_fast [12]

...
[12]    41.9    0.06        1.02  235892         rb_io_getline_fast [12]
                0.10        0.92  235892/235892      appendline [13]

-----------------------------------------------

[13]    39.7    0.10        0.92  235892         appendline [13]
                0.06        0.59  235890/235890      rb_str_buf_new [16]
                0.08        0.05  236005/236005      fread [29]
                0.08        0.00  236005/236007      memchr [41]
                0.00        0.06     155/156         __srget [42]
                0.00        0.00     115/195         rb_str_resize [166]
                0.00        0.00      20/180         rb_str_cat [164]
                0.00        0.00     155/156         rb_thread_wait_fd [319]
                0.00        0.00     155/171         rb_io_check_closed [316]

...
-----------------------------------------------

[15]    27.7    0.28        0.43  235881         rb_yield_0 <cycle 1> [15]
                0.05        0.31  235881/235882      new_dvar [21]
                0.03        0.00  235881/235882      scope_dup [59]
                0.02        0.00  235881/235883      rb_gc_force_recycle [60]
                0.02        0.00  235881/235884      rb_block_given_p [61]
                0.01        0.00  235881/235921      _setjmp [85]
                                  235881             rb_eval <cycle 1> [19]
...
-----------------------------------------------
[16]    25.2    0.06        0.59  235890         rb_str_buf_new [16]
                0.05        0.31  235890/235996      str_alloc [20]
                0.05        0.18  235890/242071      ruby_xmalloc [25]
...
                0.04        0.27  235882/474876      new_dvar [21]
                0.04        0.27  235996/474876      str_alloc [20]
[17]    24.2    0.09        0.53  474876         rb_newobj [17]
                0.00        0.43      34/34          rb_gc [18]
                0.10        0.00  474876/475495      memset [36]

[18]    17.0    0.00        0.43      34         rb_gc [18]
                0.06        0.26      34/34          gc_sweep [22]
                0.06        0.02     578/918         rb_gc_mark <cycle 2> [43]
                0.01        0.00     102/918         rb_gc_mark_frame <cycle 2> [321]
                0.00        0.01      34/34          rb_gc_mark_threads [81]
                0.00        0.00      34/918         mark_locations_array <cycle

...
[19]    15.6    0.38        0.01  235882+707663  rb_eval <cycle 1> [19]
                0.01        0.00  235892/236075      rb_class_of [77]
                0.00        0.00       4/4           ev_const_get [231]
                0.00        0.00       1/1           rb_str_new3 [246]
                0.00        0.00       1/2           new_blktag [260]
                0.00        0.00       1/235921      _setjmp [85]

...
[20]    14.0    0.05        0.31  235996         str_alloc [20]
                0.04        0.27  235996/474876      rb_newobj [17]

...
[21]    13.8    0.05        0.31  235882         new_dvar [21]
                0.04        0.27  235882/474876      rb_newobj [17]

...
[25]     9.3    0.05        0.19  242071         ruby_xmalloc [25]
                0.04        0.14  242071/242083      malloc [26]

...
[29]     5.1    0.08        0.05  236005         fread [29]
                0.05        0.00  236005/237339      memcpy [50]

In This Thread

Prev Next