= Optimisation = There are many things which can be done to optimise the performance, so of them will be minor and some of them may require larger changes. The two goals are: * Faster * Less Bandwidth (smaller pages and/or more caching) == 1) Develop Automated Performance Metrics == Before Sahana Eden can be effectively optimised, we need a set of performance metrics to optimise to. Metrics should: * Test as wide as wide a variety of the code as possible. * Be able to be automatically tested (''See:'' DeveloperGuidelinesTesting). * Cover different usage scenarios * Low bandwidth * High number of users The Automated Performance Metrics, will also allow us to better share performance statistics of Sahana Eden. == 2) Make Enhancements to Sahana Eden == Once the metrics have been developed enhancements can be made to improve these. These enhancement * Using Profiler Tools to identify parts of the code which require more computation (http://eden.sahanafoundation.org/wiki/DeveloperGuidelinesOptimisation#Profiling). * Avoid excess DB calls, Use web2py's {{{cache}}} instead * Move as much JS to static files * Investigate the possibility of loading large page components using AJAX * Download/execute scripts asynchronously: * http://headjs.com/ * http://labjs.com * http://requirejs.org ''See Also:'' * DeveloperGuidelinesOptimisation