← Back to team overview

openerp-expert-framework team mailing list archive

Trunk vs. trunk-pg84

 

Let me share my progress over the last days:
I have been trying to see which features of my server work should be pushed 
into v6.0 (if ever accepted).
The most important of them would be the "pg84" feature, which is a set of 
optimizations that push some of the processing down to the database (postgres 
8.4, if available). Most of my work on the framework, fyi, is at that 
"trunk-pg84" branch. 
The obvious question is, does it deliver anything? does it break anything 
else?
I discovered the 'base_quality_interrogation.py' script, that is supposed to 
run the server and perform the trivial tasks (run server, create db etc.) in a 
controlled manner. The first time I run it, sadly, it proved that no sense of 
quality had ever been considered into the script. So, spent a couple of days 
fixing the interrogation script, first. 
The two versions that would be compared are the "trunk-xrg" and "trunk-pg84" 
branches, respectively containing trivial fixes and the optimizations. I 
couldn't do that against the official trunk, because this is broken to the level 
that the interrogation script wouldn't work.
Then, a feature was added into both branches, so that the server would report 
its process times. Easy feature, I think many of us need. A couple of patches 
later, both branches were operational.

Now, I could run the b-q-i (with the "create-db" operation):
trunk-pg84: Server ending at: User: 11.300, Sys: 2.200 
trunk-xrg: Server ending at: User: 12.200, Sys: 2.250

Given that in both cases most of the processing time would be parsing the xml 
files and filling the same objects with the same amount of data, this 0.9sec is 
enough to make me smile.

todo: using the 'set-pgmode' script and the 'get_os_time' feature, I could 
measure the time needed for some standard operations (like running a wizard or 
so) in both pg84 and 'old' database mode. 

I would be happy to assist any of you trying this branch, too, for the sake of 
performance dimensioning.