How about the execution efficiency in Ruby 1.9?

Discussion in 'Ruby' started by Erwin Moller, May 1, 2008.

  1. Erwin Moller

    Erwin Moller Guest

    Has It been greatly improved?
    Erwin Moller, May 1, 2008
    1. Advertisements

  2. Erwin Moller

    ara howard Guest

    ara howard, May 1, 2008
    1. Advertisements

  3. Erwin Moller

    ThoML Guest

    ThoML, May 1, 2008
  4. Yes!

    I've foolishly done a small raytracer in pure ruby, and here are some
    older timing results:

    1.11 scene5 hdr
    real 240m0.358s
    user 229m33.500s
    sys 5m16.590s

    1.12 scene5 hdr (ruby1.9)
    real 159m57.246s
    user 156m15.050s
    sys 0m30.360s

    (Yeah, it's version 1.11 vs version 1.12, but 1.12 just fixes bugs.)

    mfg, simon .... l
    Simon Krahnke, May 1, 2008
  5. Eleanor McHugh, May 1, 2008
  6. Erwin Moller

    James Gray Guest

    I've always wanted to try that.

    MJD has a neat little raytracer in Perl. I think it's 400 lines, or so.

    Is your code publicly available?

    James Edward Gray II=
    James Gray, May 1, 2008
  7. Well, rayt (that's its short name) is quite basic and limited, there are
    only two different object types: planes (with no borders) and spheres. I
    only ever tried grayscale images and it's just plain raytracing with
    reflection and transparency.

    I consider it quite finished, because pure raytracing with its shadow
    rays it's just too bad at distributing light, and can always learn to
    use povray. I might try to implement refraction some day though.
    No, but I could zip it up and mail it to you if you want.

    mfg, simon .... my address works
    Simon Krahnke, May 1, 2008
  8. Erwin Moller

    Isaac Gouy Guest

    Isaac Gouy, May 1, 2008
  9. Erwin Moller

    Isaac Gouy Guest

    Isaac Gouy, May 1, 2008
  10. Well there's lots of room for improvement in the Icon VM, what with
    the current design being fifteen years old and written in its own god-
    awful macro language that adds additional overhead. On the other hand,
    I did significant physical simulations using it on an i386 for my
    degree dissertation and never found it particularly slow so if Ruby
    1.9 is in the same ballpark now that's a good improvement.

    As for the lack of Icon benchmarks, well judging from the activity on
    the Unicon mailing list I'd be surprised if there's more than a few
    hundred of us worldwide who ever use it. Makes Ruby look positively
    mainstream ;)


    Eleanor McHugh
    Games With Brains
    Eleanor McHugh, May 1, 2008
  11. The main use of it that I'm aware of is in the build process for Norman
    Ramsey's "noweb" literate programming tool. Ralph Griswold, the creator
    of Icon (and SNOBOL!) passed away last year, and I don't know if anyone
    has stepped into a maintainer role.
    M. Edward (Ed) Borasky, May 2, 2008
  12. Yes, I was very sad when the news broke as he was one of my personal
    heroes, both for his work on Icon and for the important role he played
    in the birth of Unix and other Bell Labs projects. He was ahead of the
    curve with both Snobol and Icon but the elegant scanning environments
    these championed have never gained the traction of regular expressions
    (much to my personal annoyance) nor has Icon's goal-oriented
    evaluation. I often miss the latter when working on Ruby problems and
    end up spoofing it with exceptions, which is a very clumsy approach.

    I don't know who's now maintaining Icon, but its OO offshoot Unicon is
    be actively developed by Clinton Jeffreys and has a small but loyal
    community. It's fun to play with and even has support for graphics and
    CGI these days - I used to have a couple of websites powered by it
    before they fell off the net - but outside of noweb Un/Icon lacks a
    killer application to put it in the mainstream.

    No matter how good the language, without users it's always going to be
    stuck in a niche :(


    Eleanor McHugh
    Games With Brains
    Eleanor McHugh, May 2, 2008
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.