| | 1 | = Optimisation = |
| | 2 | 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: |
| | 3 | * Faster |
| | 4 | * Less Bandwidth (smaller pages and/or more caching) |
| | 5 | |
| | 6 | == 1) Develop Automated Performance Metrics == |
| | 7 | Before Sahana Eden can be effectively optimised, we need a set of performance metrics to optimise to. |
| | 8 | Metrics should: |
| | 9 | * Test as wide as wide a variety of the code as possible. |
| | 10 | * Be able to be automatically tested (''See:'' DeveloperGuidelinesTesting). |
| | 11 | * Cover different usage scenarios |
| | 12 | * Low bandwidth |
| | 13 | * High number of users |
| | 14 | The Automated Performance Metrics, will also allow us to better share performance statistics of Sahana Eden. |
| | 15 | |
| | 16 | == 2) Make Enhancements to Sahana Eden == |
| | 17 | Once the metrics have been developed enhancements can be made to improve these. These enhancement |
| | 18 | * Using Profiler Tools to identify parts of the code which require more computation. |
| | 19 | * Avoid excess DB calls, Use web2py's {{{cache}}} instead |
| | 20 | * Move as much JS to static files |
| | 21 | * Investigate the possibility of loading large page components using AJAX |
| | 22 | |
| | 23 | ---- |
| | 24 | ''See Also:'' |
| | 25 | * DeveloperGuidelinesOptimisation |