RE: Speed Issues

"aaron" <aaron-7/[email protected]> Mon, 4 Jul 2005 11:48:56 -0700
Newsgroups gmane.comp.lib.binarycloud.devel
Message-ID <[email protected]>
Wow,
 
After taking a look at rails I can see why it would be hard to go back after
using it. It's like other programming languages are struggling to evolve to
OO/MVC frameworks, each one with it's own strengths and weaknesses, but by
starting with all of those concepts in mind from the beginning, rails seems
to cover it all.
 
My main reason for choosing binarycloud was the parent-child node structure.
Even though I wasn't a big fan of ndf, I really liked the organization of
each extendable node being encapsulated within a parent. I think that could
be ported to rails fairly easily, and by adding properties to each node, we
could do things like control caching for each node individually through
native rails cache functions. It would simply be adding a better
presentation/organization layer.
 
I think that the current form implementation could use a lot of work but
would be a good component. I actually have a really nice javascript form
validation library that I wrote that I would like to integrate into
something. It handles validation automagically by parsing variables attached
directly to form fields. You can see some of the functionality here:
http://beta.zaadz.com/forms/?formName=site_registration.html
 
There is also a lot of room in rails for working out globalization and
localization issues since that doesn't seem to be well developed currently.
 
I would be really interested to see what Alex comes up with as a proposal
since he knows far more than I do about the inner workings of binarycloud ;)
 
And as a side note, before I got sidetracked with rails, I identified some
of the issues that are causing slowness in the rendering portion of
binarycloud. They have to do mainly with smarty and the translation engine.
I'll be happy to spend some time removing the rough spots but here's what I
identified.
 
- The XMLTranslationContainer is missing a 'static' before the singleton
instance variable and is therefore recreating itself on every other load.
(oops)
- Smarty configs are being loaded each time a node is rendered instead of
only once
- The TranslationManager is also doing a lot of extra work because it loads
translations each time a smarty template is rendered by calling the
XMLContainer. Since TranslationManager is a singleton instance as well, it
should contain a cache of translation arrays indexed by filename so that no
additional processing needs to be done if a language file has already been
loaded.
 
I think applying these changes would speed up the application significantly
since those two areas are the main bottleneck as far as I can see.
 
-Aaron

  _____  

From: dev-bounces-PnctHDZWAvB/Cz2I37pSEPZ4XP/[email protected]
[mailto:dev-bounces-PnctHDZWAvB/Cz2I37pSEPZ4XP/[email protected]] On Behalf Of Devlin Upton
Sent: Monday, July 04, 2005 10:23 AM
To: binarycloud developer list
Subject: Re: [binarycloud-dev] Speed Issues


Will BinaryCloud keep PHP as its primary platform?


Jean-Christophe Michel wrote: 

alex black wrote:

  

I haven't begun this discussion yet on the list, but is there a reason you

haven't considered rails? I'm in the process of cataloging the binarycloud

codebase to decide what should be ported and what isn't necessary given

the infrastructure in rails. Interestingly, our best ideas cannot be found

in any other framework, which makes me happy... so I'm going to have a

good transtion plan soon which I will publish.

    



Hey, not asleeped yet ? :p

Our good points now are: real utf8 output, a good form class and

components, tables and pagination. Rails seems to have a far better

persistence layer than my modest -- but working -- simpleentity.



  

Keep in mind you're hearing this from someone who played a large part in

developing the concepts behind binarycloud, but once you've done a project

with rails there is really no other toolset you're interested in using

anymore. That said, rails is still young and needs a lot of the ideas we

developed and perfected here. For those of us that make our living doing

web apps, I think it would be best to port our (very cool) toolset to

rails, create gems from them, and have at it in rails.

    



Yes, propose the migration way :-)



  


Devlin Upton
Software Architect
OnlineLabs
5870 West Jefferson Boulevard
Los Angeles, California  90016
Phone:  310.815.8855 Ext. 231
Fax:      310.815.8808
 <mailto:[email protected]> [email protected]
 <http://www.onlinesecurity.com/> www.onlinelabs.com 
OnlineLabs TM
Technical by Nature
"This email may contain material that is confidential and/or privileged
information for the sole use of the intended recipient.  Any review,
reliance or distribution by others or forwarding without express permission
is strictly prohibited.  If you have received this transmission in error,
please promptly notify the sender by reply email and then delete all copies
of the transmission.  Thank you.

_______________________________________________
dev mailing list
dev-PnctHDZWAvB/Cz2I37pSEPZ4XP/[email protected]
http://lists.binarycloud.com/mailman/listinfo/dev