> Talking about optimizations, a "method" optimization is something that I > would like to see in the tool chain. Imagine that after you writing your > code the tool chain has how to know what methods was called and what > methods > was called by those methods and so on. In the end, it knows which methods > weren't used and can exclude them from the build js file. It would greatly > reduce the final size. > > Since the tool chain already scans all files it could save all those > methods > calls somehow. > > Maybe thron7 could comment about it. I'm sure they had already thought > about > that.
And indeed we have :-). The big issue we face here is the deeply dynamic nature of Javascript (which we usually all love so much). It is very hard to be sure that a certain method of a class is never used, as references to methods can come in all disguises. Static methods like a.b.c.Class.meth() are easy. Instance methods like obj.meth() are a lot harder, since object instances can be passed around arbitrarily, and you might have no way of telling when an instance shows up in code which class it stems from, unless it was instantiated in the same block. And so forth. So method pruning might only be possible for certain methods, of certain classes, under certain circumstances. The developer might have to make additional efforts, like type-tagging formal arguments (oups!) within comments, or follow other disciplines. And a potential "prune-unneeded-methods" compile option will remain a use-at-your-own-risk option where the developer has to make sure he knows what he is doing (like some optimization options for standard C/C++ compilers). Such an option would never be automatically safe. If you want, be the first to materialize this train of thought by opening an enhancement bug for it :-). I hope Alex will comment on the low-level stuff next week, as he has been concerned with exactly these questions. T. ------------------------------------------------------------------------------ Come build with us! The BlackBerry® Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9-12, 2009. Register now! http://p.sf.net/sfu/devconf _______________________________________________ qooxdoo-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
