Hi folks,
I was thinking about using Ruby On Rails to develop the web GUI for
our
products. However, since these are embedded systems with few space
and memory
(if compared to a desktop, at least ;-)) I wonder about a few things:
1) How small can I make RAR ? I just checked the gems and it seems
the "normal" footprint is about 5MB (without examples and docs).
But this is
still too much and I think we don't everything. Has someone
experience with
what's necessary and what not ? We could live with a footprint of
about 2MB
and I think it's possible. (Note that I have a lot of experience in
packaging
software and developing si I can also do dirty hacks and modify
sources if
that's what takes it to make it this small).
Well a base export of trunk is currently 6.5 megs. SInce you're just
a web gui you can junk docs, examples and the test suites, which gets
me down to 4,4 megs.
I'm guess since you;re a web gui you can do without activeresource,
actionwebservice, actionmailer.
You can also lose the changelogs and readmes
There's some stuff you're not going need. eg generators, that can
also go, and stuff for doing things like installing a plugin
If you're not going to be using prototype, ajax etc... you can get
rid of the javascrpts. Even if you are, they're their in 2 places, so
you should be able to get rid of one
You can junk the database adapters you don't need, the support for
the dispatch mechanisms you won;t need.
There are also quite a few files in railties which are just
templates: you don't need them if you're not generating new apps
Having done all that, I'm down to 2.5 megs (occupying 3.3 on disk,
what with a lot of the files being smalling the the min file size on
my filesystem). Beyund that, the biggest win would be getting rid of
the unicode tables (640k), if you don't need that. Not sure how easy
it is to removve that though.
There are a lot of comments in the source (since that's what all the
rdoc) is generated from. Removing that gets me down to 1.7 megs, 2.6
megs occupied on disk. If you can junk the unicode table then you're
home and dry.
2) A big concern to me is the memory footprint when uploading files
(updates):
we can't afford to have a 20MB file three or four times in the
memory, so
does anyone know how uploads are handled ? Can I have it streamed
directly to
the disk to reduce the memory footprint ?
Don't know anything about that.
Fred