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