[prev in list] [next in list] [prev in thread] [next in thread] 

List:       ruby-talk
Subject:    Re: ruby incredibly slow (update 2)
From:       Ron Jeffries <ronjeffries () acm ! org>
Date:       2007-11-19 4:50:05
Message-ID: i252k3lbdrf7aor9iuukljtua3g1k87phv () 4ax ! com
[Download RAW message or body]

On Sun, 18 Nov 2007 18:17:41 -0500, John Carter
<john.carter@tait.co.nz> wrote:

>On Mon, 19 Nov 2007, Ron Jeffries wrote:
>
>> I have no idea what it
>> even means. If someone would care to translate it, I'd be interested
>> and grateful.
>>
>>    `#{ruby} -i.bak -pe 'sub(/^[0-9]+$/){$&.to_i * 5}' script_tmp`
>
>Back tick ` means run the following command and return whatever goes to stdout as a string.
>
>#{ruby} means interpolate into the command string the content of the
>  local variable ruby. My guess is the path to the ruby interpreter.
>
>-i.bak is a perlism to operator on the argument "script_tmp" backing
>  it up to "script_tmp.bak" prior to feeding it into stdin and stdout
>  to "script_tmp"
>
>-p is a perlism to iterate through every line of stdin placing each
>  line in default variable $_, execute the chunk of script specified by -e and
>  then printing the variable $_ to stdout.
>
>-e '' a perlism to execute the enclosed chunk of ruby.
>
>sub(//){} Operating on the default variable $_
>           find the first occurrence of the regexp // and replace it with the result of the block {}
>
>/^[0-9]+$/ Match an integer filling the whole line.
>
>{$&.to_i * 5} Convert it to and integer and multiply by 5

Way more cryptic than I needed. Thanks.
>
>This would only be slow is script_tmp is massive. The backtick would
>cause lots of swapping if the size of script_tmp was larger than
>available free ram.

Interesting. It surely isn't massive, these lines are preceded by
these:

    tmp = open("script_tmp", "w")
    for i in 1..5
      tmp.print i, "\n"
    end
    tmp.close

Which make me think 5 lines. Wonder what's up with that. Might be
interesting to zero in on ...

Ron Jeffries
www.XProgramming.com

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic