Hello Steffan,
thanks for sharing your work. Sounds interesting and I'm really interested in 
your results of your further step.
But as you can imagine, this is only good for an application developer and not 
for the framework itself. We, as a framework, can not know which methods will 
be used or not. Maybe I didn't get your approach right?
Regards,
Martin

Am 27.09.2010 um 09:19 schrieb Stefan Andersson:

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
<ATT00001..txt><ATT00002..txt>

------------------------------------------------------------------------------
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

Reply via email to