*** reinhard has joined #gnuenterprise *** johannesV has joined #gnuenterprise good morning good morning all *** btami has joined #gnuenterprise good morning *** SachaS has joined #gnuenterprise *** johannesV_ has joined #gnuenterprise *** johannesV has quit IRC *** kilo has joined #gnuenterprise *** lekma has joined #gnuenterprise good morning good morning johannesV_: do you have some time to spare for me? *** SachaS has quit IRC lekma, sorry ... i'm quite busy atm ok, np maybe i can play with profiling appserver during the weekend *** btami has quit IRC hmmm before: 6.4 seconds after: 0.7 seconds does this sound like an useful optimization? make it 0.6 :) what opti is that? make it 0.5 :) on level of datasources I introduced a way to skip off the whole overhead of ResultSet and RecordSet in cases where you don't need it when do you need it? calc props? no you *never* need it for appserver, you only need it for forms woot \o/ but as using the same datasources library for forms and appserver, it had a lot of overhead that was only for forms like tracking dirty records, caching, etc which is anyway done in appserver itself (and not used from this library) for jcater and the logs: this might also be interesting for reports, as AFAICT reports should also be able to work without that overhead as a side effect, it should also greatly reduce the memory footprint wow wow wow lekma: before you fall into rejoicing i hope you have no other programmes for the weekend :) this is only a part of the performance loss in appserver hmmm.... for reports, the missing master/detail ability might be a problem... too funny just testing the performance of direct dbsig2 data access for 100000 records pygresql: 26 seconds pypgsql: 28 seconds psycopg: 0.8 seconds impressive psycopg rocks my socks *** kilo has left #gnuenterprise gnue-common high performance access on psycopg: 6.3 seconds so common adds even less overhead than pygresql now :) high performance access == a way to skip off the whole overhead of ResultSet and RecordSet ? yes not the whole overhead, but the whole *unneeded* overhead :) johannesV_: if you want, you can try to change data.py to make use of the new ResultSet.raw() function otherwise I will try to do it this evening so you and lekma can test overall performance hit off to garden work now i can test tomorrow *** btami has joined #gnuenterprise *** derek_ has joined #gnuenterprise *** jcater has joined #gnuenterprise *** dimas__ has joined #gnuenterprise *** dimas__ has quit IRC *** reinhard has left #gnuenterprise *** reinhard has joined #gnuenterprise *** lekma has quit IRC *** klasstek has joined #gnuenterprise *** johannesV_ has quit IRC *** johannesV_ has joined #gnuenterprise reinhard, if you can do that change to data.py i'm ok with it ... as it seems i'll have not very much time to do so the next days ... ok am already at it nice on data.py level before = 22 seconds, after = 13 seconds down at 9 seconds now *** psu has joined #gnuenterprise python profiling is full of surprises changing a single "foo = '%s-%s' % (bar, baz)" into "foo = bar + '-' + baz" increased overall appserver performance by > 5% I noticed some interesting stuff like that Like string appending is way faster than multiple file writes maybe thats just on windows though. *** psu has quit IRC hm, that's strange ... as it was documented somewhere, that "%(foo)s" % {'foo': 'somevalue'} is faster than 'foo' + 'bar' and more readable reinhard, have you tested that with timeit.py too ? I will test again as my change also invoved getting rid of an implicit string to unicode conversion yeah but i think that changing __has() and the like gains much more :) as i also read about using try: except KeyError: to improve dictionary-checks where the big point is catching the KeyError only :) if that would be omitted (so catching everything) would slow down things dramatically as you've said before, profiling is full of surprises :) but the improvements you've done so fare are great ... the benchmark took 21 seconds before, and 8 seconds after the change of data.py ok, i'm off for today .. *** johannesV_ has quit IRC *** btami has quit IRC *** sjc has joined #gnuenterprise *** jcater has left #gnuenterprise *** kilo has joined #gnuenterprise *** lupo__ has joined #gnuenterprise *** kilo has left #gnuenterprise *** klasstek has quit IRC *** lupo__ has quit IRC good night all *** reinhard has quit IRC *** sjc has quit IRC *** SachaS has joined #gnuenterprise *** SachaS has quit IRC *** SachaS has joined #gnuenterprise *** dsmith has joined #gnuenterprise Howdy gnue dudes