[#376274] Best Linux Distro for Ruby? — Nick Hird <boondox@...>

What are some of the better linux distro's for ruby development? I know

15 messages 2011/01/02

[#376329] Is singleton class of an object already created? — Samnang Chhun <samnang.chhun@...>

I would like to know is there any ways to check is singleton class of an

12 messages 2011/01/04

[#376333] Threading in ruby — "Vishnu I." <pathsny@...>

Hi

13 messages 2011/01/04
[#376335] Re: Threading in ruby — Robert Klemme <shortcutter@...> 2011/01/04

On Tue, Jan 4, 2011 at 8:41 AM, Vishnu I. <pathsny@gmail.com> wrote:

[#376339] ripl - an irb alternative - 0.3.0 released — ghorner <gabriel.horner@...>

ripl, a light modular alternative to irb, has reached 0.3.0. ripl

32 messages 2011/01/04

[#376382] Class Initialization? — Kedar Mhaswade <kedar.mhaswade@...>

I have a class and two class methods: self.encode and self.decode. The

14 messages 2011/01/05
[#376385] Re: Class Initialization? — Andrew Wagner <wagner.andrew@...> 2011/01/05

On Wed, Jan 5, 2011 at 9:33 AM, Kedar Mhaswade <kedar.mhaswade@gmail.com>wrote:

[#376388] Petition to add Metasploit Project as Ruby success story — Christian Kirsch <Christian_Kirsch@...7.com>

I noticed the Ruby success stories on the Ruby website. I would like to mak=

10 messages 2011/01/05

[#376453] Block variable - How is it read in English? — SW Engineer <abder.rahman.ali@...>

Following the "Ruby on Rails Tutorial", and under section "6.1.1

16 messages 2011/01/06

[#376574] Best way for Array#find+transform ? — "Jonas Pfenniger (zimbatm)" <jonas@...>

There is a pattern that I'm using quite regularly, but I'm not

17 messages 2011/01/08
[#376575] Re: Best way for Array#find+transform ? — Anurag Priyam <anurag08priyam@...> 2011/01/08

> I know I can come up with a new method on Array that would shorten this t=

[#376576] Re: Best way for Array#find+transform ? — Anurag Priyam <anurag08priyam@...> 2011/01/08

> paths.map{|path| File.join(path, filename)}.select{|name| File.exist?(path)}

[#376577] Re: Best way for Array#find+transform ? — "Jonas Pfenniger (zimbatm)" <jonas@...> 2011/01/09

2011/1/8 Anurag Priyam <anurag08priyam@gmail.com>:

[#376579] Re: Best way for Array#find+transform ? — David J. Hamilton <groups@...> 2011/01/09

Excerpts from Jonas Pfenniger (zimbatm)'s message of Sat Jan 08 16:05:05 -0800 2011:

[#376586] Re: Best way for Array#find+transform ? — "Jonas Pfenniger (zimbatm)" <jonas@...> 2011/01/09

2011/1/9 David J. Hamilton <groups@hjdivad.com>:

[#376606] Re: Best way for Array#find+transform ? — David J. Hamilton <groups@...> 2011/01/10

Excerpts from Jonas Pfenniger (zimbatm)'s message of Sun Jan 09 04:08:10 -0800 2011:

[#376680] Parallel Assignments and Elegance/Complexity Ratio. — Kedar Mhaswade <kedar.mhaswade@...>

In SICP, I read that "Programs should be written for people to read, and

15 messages 2011/01/11
[#376697] Re: Parallel Assignments and Elegance/Complexity Ratio. — Josh Cheek <josh.cheek@...> 2011/01/11

On Tue, Jan 11, 2011 at 8:29 AM, Kedar Mhaswade <kedar.mhaswade@gmail.com>wrote:

[#376682] JRuby 1.6.0.RC1 released — Thomas E Enebo <tom.enebo@...>

The JRuby community is pleased to announce the release of JRuby 1.6.0.RC1.

14 messages 2011/01/11

[#376744] Case statements - Just beautification — flebber <flebber.crue@...>

I just want to clarify case statements the name after the word case is

10 messages 2011/01/12

[#376792] Ruby is interpreted and scripting language? — Sai Babu <sateesh.mca09@...>

I am ruby fresher.

16 messages 2011/01/13

[#376855] Retrieving and copying element from array — Simon Harrison <simon@...>

If I have an array like this:

11 messages 2011/01/13

[#376898] What are your ruby rough cuts ? — "Jonas Pfenniger (zimbatm)" <jonas@...>

Hi rubyists,

32 messages 2011/01/14
[#376930] Re: [poll] What are your ruby rough cuts ? — David Masover <ninja@...> 2011/01/15

On Friday, January 14, 2011 07:34:04 am Jonas Pfenniger (zimbatm) wrote:

[#376937] Re: What are your ruby rough cuts ? — Joseph Lenton <jl235@...> 2011/01/15

David Masover wrote in post #975080:

[#376959] Why Quby? (was Re: What are your ruby rough cuts ?) — David Masover <ninja@...> 2011/01/15

On Saturday, January 15, 2011 04:42:58 am Joseph Lenton wrote:

[#377020] Obscure syntax error — Rolf Timmermans <molfie@...>

Hi all,

16 messages 2011/01/17

[#377052] Calling by Reference - Two Questions — Mike Stephens <rubfor@...>

I know I'm not the first person to get stumped by how to get Ruby to

15 messages 2011/01/18

[#377072] The most recommended way of naming methods in Ruby — Edmond Kachale <edmond.kachale@...>

Rubists,

14 messages 2011/01/18
[#377082] Re: The most recommended way of naming methods in Ruby — Phillip Gawlowski <cmdjackryan@...> 2011/01/18

On Tue, Jan 18, 2011 at 9:16 AM, Edmond Kachale

[#377121] Improving performance of hash math — dblock <dblockdotorg@...>

I am trying to improve performance of Euclidian distance between two

13 messages 2011/01/19

[#377226] Totally lost in learning Ruby — Hilary Bailey <my77elephants@...>

This is my second attempt to understand Ruby. I completely read 1)

61 messages 2011/01/21
[#378239] Re: Totally lost in learning Ruby — Hilary Bailey <my77elephants@...> 2011/02/08

Hi everybody,

[#378246] Re: Totally lost in learning Ruby — Robert Klemme <shortcutter@...> 2011/02/08

On Tue, Feb 8, 2011 at 3:16 AM, Hilary Bailey <my77elephants@gmail.com> wro=

[#377236] using gems installed via 'sudo gem install' — "Piotr S." <thisredoned@...>

I've installed ruby-opengl through sudo gem install because there were

15 messages 2011/01/21

[#377362] pg gem 0.10.1 wth Ruby 1.9.2 does not work with method @pg_conn.exec_prepared(stmt_name, parameters) — Zeno Davatz <zdavatz@...>

Hi

9 messages 2011/01/24

[#377388] The finer points of postfix conditionals. — Jon Leighton <j@...>

Hi,

13 messages 2011/01/24

[#377411] Obtain data from .csv — Kamarulnizam Rahim <niezam54@...>

Sample of .csv file:

19 messages 2011/01/25

[#377609] why is overloading invalid in ruby. — Ted Flethuseo <flethuseo@...>

I don't understand why when I try to overload I get an error. Can I

36 messages 2011/01/27

[#377645] If you had the choice between Ruby & Groovy — Noah Cutler <sit1way@...>

Hey All.

15 messages 2011/01/28

[#377650] IDE? — <johan.tempelman@...>

Hi,

13 messages 2011/01/28

[#377703] Zlib::GzipReader and multiple compressed blobs in a single stream — Jos Backus <jos@...>

Hi,

11 messages 2011/01/28

[#377761] New to programming AND new to Ruby — "Cassandra K." <cassandra.k@...>

Hello. I am trying to teach myself Ruby. I have no background in

13 messages 2011/01/31

[#377785] 2011: Which Ruby books have you read? And which would you recommend? — "Aston J." <azzzz@...>

I know there are a lot of threads about books, but some of them are as

16 messages 2011/01/31

[#377800] How to know the exit status within at_exit() block? — Iñaki Baz Castillo <ibc@...>

Hi, my program invokes "exit true" or "exit false" and I want to catch

17 messages 2011/01/31

Re: Enumerable.inject_with_index?

From: redstun <redstun@...>
Date: 2011-01-27 15:10:41 UTC
List: ruby-talk #377593
guess we find a spot to improve when chaining up multiple enum methods?

btw, looks like you guys both have more powerful computer than mine. ;-)


On Thu, Jan 27, 2011 at 9:10 PM, Benoit Daloze <eregontp@gmail.com> wrote:

> On 27 January 2011 01:42, redstun <redstun@gmail.com> wrote:
> > Interesting, thanks Colin.
> >
> > As you said, the code you demonstrated, could performer better, meanwhile
> > it's somewhat less elegant.
> >
> > IMHO the code is ok, we just have more space inside the
> > interpreter/runtime to get improved, like in JVM, the JIT compiler could
> > compile all of the 4 lines of code in to the same machine instructions
> and
> > yield the same performance.
> >
> > The dynamic nature and elegance design of Ruby certainly sacrificed
> > performance at somewhat level, but  that doesn't stop you and me from
> using
> > it, right? :-)
> >
> > Anyway, thanks for the benchmark demo, I just ran it on my machine, with
> > both MRI and JRuby,
> > MRI 1.8.7
> >                                user     system      total        real
> > each_with_index.inject(0)   4.930000   0.000000   4.930000 (  5.036288)
> > inject(0)                   3.088000   0.000000   3.088000 (  3.080176)
> > each_with_index             2.668000   0.000000   2.668000 (  2.668153)
> > each                        1.700000   0.000000   1.700000 (  1.713098)
> >
> > JRuby 1.5.6
> >                                user     system      total        real
> > each_with_index.inject(0)   1.918000   0.000000   1.918000 (  1.918000)
> > inject(0)                   1.058000   0.000000   1.058000 (  1.058000)
> > each_with_index             0.979000   0.000000   0.979000 (  0.979000)
> > each                        0.624000   0.000000   0.624000 (  0.624000)
> >
> > Like your result the raw each runs the fastest, but we can also find
> that,
> > the result of each_with_index.inject with JRuby is already close to that
> of
> > raw each with MRI.
> >
> >
> > On Tue, Jan 25, 2011 at 5:43 AM, Colin Bartlett <colinb2r@googlemail.com
> >wrote:
> >
> >> I'm curious as to when and why people use each_with_index and/or
> >> inject, etc, instead of a somewhat less elegant, and admittedly
> >> possibly less flexible, more direct approach. (Which usually(?) takes
> >> about the same number of characters for the code.)
> >>
> >> ary = [3, 4, 5]
> >> rrr = ary.each_with_index.inject(0) { |sum, (v, index)| sum + v * index
> }
> >> p rrr #=> 14
> >> index = -1; rrr = ary.inject(0) { |sum, v| index += 1; sum + v * index }
> >> p rrr #=> 14
> >> rrr = 0; ary.each_with_index { |v, index| rrr += v * index }; rrr
> >> p rrr #=> 14
> >> index = -1; rrr = 0; ary.each { |v| index += 1; rrr += v * index }; rrr
> >> p rrr #=> 14
> >>
> >> require "benchmark"
> >> kt = 500_000
> >> Benchmark.bmbm() do |bm|
> >>  bm.report( "each_with_index.inject(0)" ) { kt.times {
> >>   rrr = ary.each_with_index.inject(0) { |sum, (v, index)| sum + v *
> index }
> >>  } }
> >>  bm.report( "inject(0)"                 ) { kt.times {
> >>   index = -1; rrr = ary.inject(0) { |sum, v| index += 1; sum + v * index
> }
> >>  } }
> >>  bm.report( "each_with_index"           ) { kt.times {
> >>   rrr = 0; ary.each_with_index { |v, index| rrr += v * index }
> >>  } }
> >>  bm.report( "each"                      ) { kt.times {
> >>   index = -1; rrr = 0; ary.each { |v| index += 1; rrr += v * index }
> >>  } }
> >> end
> >>
> >> #=>
> >> Rehearsal -------------------------------------------------------------
> >> each_with_index.inject(0)   2.410000   0.000000   2.410000 (  2.404242)
> >> inject(0)                   1.000000   0.000000   1.000000 (  1.000677)
> >> each_with_index             0.840000   0.010000   0.850000 (  0.846287)
> >> each                        0.640000   0.000000   0.640000 (  0.640142)
> >> ---------------------------------------------------- total: 4.900000sec
> >>
> >>                                user     system      total        real
> >> each_with_index.inject(0)   2.380000   0.020000   2.400000 (  2.392590)
> >> inject(0)                   1.000000   0.000000   1.000000 (  0.999785)
> >> each_with_index             0.850000   0.000000   0.850000 (  0.846178)
> >> each                        0.640000   0.000000   0.640000 (  0.639366)
> >>
> >> (My apologies if the benchmarks are ragged and unaligned.)
> >>
> >>
> >
>
> Just to complete with 1.9 (ruby 1.9.3dev (2011-01-26 trunk 30659)
> [x86_64-darwin10.6.0]) results:
>
> Rehearsal -------------------------------------------------------------
> each_with_index.inject(0)   1.220000   0.000000   1.220000 (  1.220411)
> inject(0)                   0.560000   0.000000   0.560000 (  0.568007)
> each_with_index             0.510000   0.010000   0.520000 (  0.516797)
> each                        0.400000   0.000000   0.400000 (  0.405471)
> ---------------------------------------------------- total: 2.700000sec
>
>                                user     system      total        real
> each_with_index.inject(0)   1.250000   0.000000   1.250000 (  1.268727)
> inject(0)                   0.570000   0.010000   0.580000 (  0.582921)
> each_with_index             0.510000   0.000000   0.510000 (  0.510591)
> each                        0.390000   0.000000   0.390000 (  0.401833)
>
> Only each_with_index.inject is notably slower, others are similar.
>
>

In This Thread

Prev Next