--Boundary-02=_BXDQ/RlaO9QQqzx
Content-Type: text/plain;
  charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Description: signed data
Content-Disposition: inline

On Sunday 17 August 2003 7:39 pm, Brandon J. Van Every wrote:
> Ok, I'm sick to death of C++.  I'm moving on to a higher level
> language of some kind.  But, my lower level 3D graphics problems are
> not going to go away.  Why is Ruby exciting to a 3D graphics
> optimization jock?  And bear in mind, I expect realism about
> performance issues, not pie in the sky optimism about how
> "performance doesn't matter" or "it's always easier to prototype in
> our language" like the Python crowd gives me.  Some problems are
> lower level than others and I want to know what Ruby has to say about
> lower level problems.

Here is some anecdotal evidence that may just be me remembering things=20
funny. ;)

I did a little experimenting with Ruby/SDL bindings a while back (gosh,=20
I think it was actually more than a year ago), while I was trying to=20
figure out if it was feasible to write [essentially a game] in Ruby=20
instead of C++. My experience was that it didn't work very well to try=20
to do the whole app (with event loop et al) in Ruby, especially when I=20
needed things to be multithreaded. The worst place I'd see problems is=20
trying to synchronize graphics and sound. But what *did* work fairly=20
well was to have a C++ event loop and have Ruby embedded to handle the=20
game logic itself (while running Ruby in its own native thread).

The opposite approach to this problem, which I didn't attempt, would be=20
to write the whole thing in Ruby, but use C++ extentions to do the=20
parts that were the most critical. The downside of this seems to be=20
that you can't(?) use native threads. Ruby threads are good enough for=20
me 99.9% of the time, but they didn't seem to work good enough back=20
when I tried this.

Then again, 1) I might have been doing something wrong, 2) I didn't try=20
*that* hard to optimize it in Ruby, and 3) the project I was working on=20
eventually diverged into something a little different, and I never got=20
to the point where I needed the SDL part of the software. =3D)

=2D-=20
Wesley J. Landaker - wjl / icecavern.net
OpenPGP FP: 4135 2A3B 4726 ACC5 9094  0097 F0A9 8A4C 4CD6 E3D2


--Boundary-02=_BXDQ/RlaO9QQqzx
Content-Type: application/pgp-signature
Content-Description: signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)

iD8DBQA/QDXB8KmKTEzW49IRAg1WAKCAK6OSGsIr5lQVfFhRhbA0AtRsewCfb0np
ETwpPCSvftIsvAfgMLVYvcE=
=yU/M
-----END PGP SIGNATURE-----

--Boundary-02=_BXDQ/RlaO9QQqzx--