15174e9a70b07f95356bf0a75887e2a02b33baab
Loading the menus is the most expensive operation for an average page load, and the result does not change often. The menu filtering already uses a separate cache based on groups, but the rest of the loading includes reading actions and translating menu names, which is also expensive. Added a cache keyed on user + user lang, plus relevant cache invalidation when any of the following are touched: access rights, user data including groups and language, menus or mail.group subscriptions. The menu filtering cache is still useful in parallel has it is invalidated under different conditions. User.has_group() is cheap but still called very often, so it is an easy win as well, and also frequently used when rendering page templates.
Odoo
Odoo is a suite of web based open source business apps. More info at http://www.odoo.com
The easiest way to play with it is the Odoo free trial, email registration is NOT required, use the "skip this step" link on the registration page to skip it.
Getting started with Odoo development
If you are a developer type the following command at your terminal [1]:
wget -O- https://raw.githubusercontent.com/odoo/odoo/master/odoo.py | python
Then follow the developer tutorial
[1] You may want to check the content of the odoo.py file before executing it.
Packages, tarballs and installers
-
Debian packages
Add this apt repository to your /etc/apt/sources.list file
deb http://nightly.openerp.com/8.0/deb/ ./Then type:
$ sudo apt-get update $ sudo apt-get install odoo
For Odoo employees
To add the odoo-dev remote use this command:
$ ./odoo.py setup_git_dev
To fetch odoo merge pull requests refs use this command:
$ ./odoo.py setup_git_review
Languages
Python
49.6%
JavaScript
47.8%
SCSS
2%
CSS
0.3%
HTML
0.2%