Procedure:
1. copy the whole framework to a new location
2. write two applications; smallest and small
3. then manually remove the unused auxiliary functions (3))
4. small changes to the generator
5. then build it with the generator
We have manually removed unnecessary functions to see how much space we could
save for:
1. the smallest application (1 000 lines of code)
2. a small application (10 000 lines of code)
By analyzing the calling structure we found out mainly three different calls
from function to function:
1. necessary calls such as constructor and destructor calls
2. core function calls
3. auxiliary function calls
1) is about 6% of the code mass
2) is about 40% of the code mass
3) is about 54% of the code mass
The main part and the easiest part to remove is 3).
By removing non-used functions in the final application, we found that
1. the smallest application saves about 45% of the code
2. the small application saves about 35% of the code
when we mainly focused on 3) removing.
Conclusion: We have shown that we easily can remove 3) of unused functions by
simply adding a new documentation tag; @call. This tag is not necessary to use
in 1), but can be used in 2) and should be used in 3). By using this tag the
generator can build a function call dependency tree and dramatically reduce
code size by removing unused functions. This tag can also be used for
properties. As can be understood the speed of the applications of the test
bench also has improved significantly.
Further work: We will now build a TEST plugin module for the generator and see
if it works in real situations.
Stefan
------------------------------------------------------------------------------
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
_______________________________________________
qooxdoo-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel