Le 12/12/2011 09:01, Bruce Bruen a écrit : > Hi Benoit, > > I was tracing through the postgresql library trying to figure out why > some tables would add, update or delete single rows in milliseconds and > others took "seconds". > I found that the table_init function in gb.db.postgresql Main.c is > calling the field_info function for each and every column in the table. > Which in turn is querying the database catalogue for each column. > Thus in a table with a large number of columns, calls to .Create > and .Edit in gambas were taking close on half a second each (with a test > table of 46 columns and the database on another server). > > With my LIMITED C knowledge I have hacked the table_init queries so that > the required catalogue columns are returned in the intial query and > moved what I hope is the relevant code from field_info into > table_init. > > My limited testing shows that .Create and .Edit call timings have now > dropped to the order of .02 seconds, and the overall add, update and > delete times drop to around .05 seconds. That is an order of 10 times > faster. > > Would you please take a look at the code for table_init below and see if > it makes sense to go this way. (The code copies and pastes OK into an > editor like geany, even though the mail may wrap lines ... so I hope you > can read it OK). > > regards > Bruce >
Cool optimization apparently... Can you send me your code as an attachment so that I can open it directly in an editor to check it? Thanks in advance! -- Benoît Minisini ------------------------------------------------------------------------------ Systems Optimization Self Assessment Improve efficiency and utilization of IT resources. Drive out cost and improve service delivery. Take 5 minutes to use this Systems Optimization Self Assessment. http://www.accelacomm.com/jaw/sdnl/114/51450054/ _______________________________________________ Gambas-user mailing list Gambas-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gambas-user