Database load times
Updated on Fri, 2007-10-12 11:45. Originally created by kocolosk on 2007-10-09 22:52.
Here's a sample breakdown of the time it takes to initialize each of the databases we use in STAR: I'm a little confused by the fact that StarDb is not equal to the sum of all the other tables, but the breakdown clearly indicates that the SVT tables take up far more time than all the other listed tables combined. If we could find a way to turn off loading of those tables it would be a great help to people doing code development (and would likely take some load off the DB servers as well). I understand Yuri is working on something in this department, but I'm not sure how far along it is.
I've made this hack available in ~kocolosk/fastDbLib. I can't guarantee it won't have side-effects, but with DB load times reduced to < 1 second I think it's worth a shot.
Calibrations_eemc.......Real time 0:00:00.101, CP time 0.050
Calibrations_emc........Real time 0:00:00.045, CP time 0.010
Calibrations_ftpc.......Real time 0:00:00.005, CP time 0.000
Calibrations_l2.........Real time 0:00:00.014, CP time 0.000
Calibrations_l3.........Real time 0:00:00.013, CP time 0.000
Calibrations_pmd........Real time 0:00:00.019, CP time 0.010
Calibrations_rhic.......Real time 0:00:00.004, CP time 0.000
Calibrations_rich.......Real time 0:00:00.004, CP time 0.000
Calibrations_ssd........Real time 0:00:00.012, CP time 0.010
Calibrations_svt........Real time 0:00:59.828, CP time 0.490
Calibrations_tof........Real time 0:00:00.054, CP time 0.020
Calibrations_tpc........Real time 0:00:00.845, CP time 0.030
Calibrations_tracker....Real time 0:00:00.018, CP time 0.000
Calibrations_trg........Real time 0:00:00.004, CP time 0.000
Calibrations_zdc........Real time 0:00:00.005, CP time 0.000
Geometry_emc............Real time 0:00:00.030, CP time 0.010
Geometry_ftpc...........Real time 0:00:00.051, CP time 0.000
Geometry_pmd............Real time 0:00:00.117, CP time 0.010
Geometry_ssd............Real time 0:00:00.026, CP time 0.000
Geometry_svt............Real time 0:00:06.470, CP time 0.090
Geometry_tof............Real time 0:00:00.033, CP time 0.000
Geometry_tpc............Real time 0:00:00.326, CP time 0.010
Conditions_trg..........Real time 0:00:00.021, CP time 0.020
RunLog_l3...............Real time 0:00:00.022, CP time 0.000
RunLog_onl..............Real time 0:00:00.019, CP time 0.000
RunLog_rhic.............Real time 0:00:00.005, CP time 0.000
StarDb..................Real time 0:03:39.359, CP time 0.710
UPDATE
I repeated this test again and found that this time StarDb ~ Calibrations_svt:Calibrations_svt........Real time 0:05:56.508, CP time 0.460
Geometry_svt............Real time 0:00:16.197, CP time 0.080
StarDb..................Real time 0:06:17.437, CP time 0.630
MY HACK
After a bit of digging I found that one can skip the SVT tables by adding the following line to the beginning of StDbConfigNodeImpl::buildTree:// Skip SVT tables for performance boost -- APK
if( mdbDomain == dbSvt ) return 1;
MY HACK, VERSION 2
I missed some recursion in the first hack; this seems to do a better job:// Skip SVT tables for performance boost -- APK
if( mdbDomain == dbSvt ) {
if(mnextNode)mnextNode->buildTree(opt);
return 1;
}
»
- kocolosk's blog
- Login or register to post comments