rush wish list musings

R

Roger Pack

Two things:
1) In my mind, this general thread is somewhat ridiculous. It's been
going on for -- what is it? -- ten months now? It seems to be just a
laundry list for things you want Ruby to do, whether they're sensible
or not, without a lot of thought into them, and at least sometimes
with reasoning like "I'm lazy and don't want to type some brackets".

Amen to the lazy part! Ruby in general seem to encourages this weakness
by allowing me to write code in fewer lines, unfortunately.
2) "I wish X worked" is not a very useful way to describe what should
happen. I'm not saying you have to write tests or specs, but do
describe the behavior you expect. Maybe looking at the RubySpec
project will give you an idea of everything Ruby presently "should do"
and what the other implementations are working towards. If that
doesn't get you going, think about it as contributing to Rubinius in
some way, and the sooner that comes out the sooner you can easily
twist even more of Ruby to your desires.

Wow my apologies I didn't know values_at existed [I looked up the docs
for Array#[] but not that one--my bad]. That was an easy one :) Go
Ruby!

I don't yet consider this thread useless as it has helped me gain a
greater understanding of the capabilities of Ruby [I'm somewhat of a
newbie]. It has also served as useful fodder for a few projects [GC and
otherwise]. Feel free to disagree, but I like it!

-=R
 
R

Roger Pack

Question/project wish list:

Are there any existing projects out there like these:?

Project to implement MRI generational GC [Boehm or normal].
Project to improve rails' speed--perhaps by turning certain bottlenecks
into C or what not.
An asynchronous Mysql driver project [esp. in C]. I suppose there's
asymy but...anything else out there?
A project to optimize the mysql adapter and make it more rails efficient
[i.e. something like implementing [1]].

I guess if these projects don't exist if anybody would like start any
one of them I'd be happy to join and participate. :)

Take care.
-=R
[1]
http://railsexpress.de/blog/articles/2006/10/05/make-ruby-mysql-create-less-garbage
 
D

David Masover

Question/project wish list:
Project to improve rails' speed--perhaps by turning certain bottlenecks
into C or what not.

No, that would actually backfire in a big way, I think. Rails being in Ruby
means that it's portable. It means that when there's a competing, faster VM,
we can run Rails on it and enjoy a speed boost.

Rewriting parts in C would make those parts not portable -- very possibly even
between versions of the mainline Ruby interpreter (many 1.8 extensions don't
work on 1.9).

An example: Rails will now run on more than one webserver -- many people run
it on Mongrel, for example, instead of Webrick. But I seem to remember
Mongrel not working at all on 1.9, last I tried -- it is, after all, quite a
lot of C.

That's OK, because the webserver isn't actually part of Rails, and there are
webservers that work on 1.9.
A project to optimize the mysql adapter and make it more rails efficient

Well, you could make it more efficient in general, but Rails doesn't tend to
make it easy on the database. (Simple example: Rails never uses prepared
statements. The conditions look like they do, but Rails actually does string
interpolation of your placeholders (those ? chars) in Ruby, and then sends
the whole ginormous SQL query to the database backend, whatever it is.)


I think, if Ruby's being too slow for you, you might start looking beyond
Rails. If it's really the database performance, you could start by replacing
ActiveRecord with a faster, lighter ORM. But actually profile and see if it's
being slow, first -- as they say, premature optimization is the root of all
evil.
 
E

Erik Hollensbe

Roger said:
I guess if these projects don't exist if anybody would like start any
one of them I'd be happy to join and participate. :)

I'm reminded of a horrible movie with an applicable message:

"If you build it, they will come."

I bet if there's enough interest, making initial headway on the project
will be enough to attract contributors. Don't wait for someone else to
do it.

-Erik
 
R

Roger Pack

Roger said:
Question/project wish list:

Are there any existing projects out there like these:?

Seems like you could get some speedup by inlining Ruby methods:
ex: [contrived]

def a
@a += 1
end

def b
a
end

300_000.times { a }
=> .6s
300_000.times { @a += 1 }
=> .4s

Anybody know of any projects out there akin to this at all?
Thanks!
-=R
 

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. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,535
Members
45,007
Latest member
obedient dusk

Latest Threads

Top