Loading 3000 models to Ruby on Rails. Performances???

Hi,

I just wandering. If I autoload 3000 Ruby on Rails classes, will it need
more computer memory? is more rails classes loaded, more memory needed?
will it cause performances problems?

Thanks,
John

Hi John,

More classes and instances will use more memory. Many websites uses
Rails with these 3000+ classes in production, so that's not really a
problem.

What exactly is your question? You can disable parts of the Rails
framework in your environment.rb, but that won't make a big
difference.

pl wrote:

Hi John,

More classes and instances will use more memory. Many websites uses
Rails with these 3000+ classes in production, so that's not really a
problem.

What exactly is your question? You can disable parts of the Rails
framework in your environment.rb, but that won't make a big
difference.

Hi Pl,

Great to know many website use more than 3000+ classes.

Basically,
1. I will have huge numbers of tables and each one of them have totally
different columns. This because I want user to be able to upload theirs
own data/tables.
So, in this case, it can be even 20000+ classes.
2. For each tables, I will have model class that will access that table.

3. By having these no 1 and 2 requirement, I will need to load "model
classes" dynamically whenever a user import their own table without
restarting rails. So that's why I am looking into autoload feature. But
seems like autoload only loading it from file. It will not load based on
"string that contain model class"

You may really want to look at a NoSQL option, like MongoDB.

E. Litwin wrote:

You may really want to look at a NoSQL option, like MongoDB.

Yes, I indeed using NoSQL. Even with NoSQL, you still need Model Class
to save and retrieve data. :).

John John wrote:

E. Litwin wrote:

You may really want to look at a NoSQL option, like MongoDB.

Yes, I indeed using NoSQL. Even with NoSQL, you still need Model Class
to save and retrieve data. :).

oh yeah, I think I found the solution of using Object::const_set

The next question is.
---------- is it possible to convert this -----
Object::const_set(name.intern, Class::new do
def write
   puts "TEST"
end
end
)

--------- convert above to -----------------
string_test = ' def write
                   puts "TEST"
               end'
Object::const_set(name.intern, Class::new do
string_test
end
)

-------- is that possible?

no need to answer find the answer using eval