[Kstars-devel] KDE/kdeedu/kstars/kstars/skyobjects

Alexey Khudyakov alexey.skladnoy at gmail.com
Sat Jun 6 14:30:32 CEST 2009


SVN commit 978211 by khudyakov:

Optimise SkyPoint constructors. Construct dmses using initializer
list istead of creating them first and overwriting them later.

As funny it could appear this change measurably sped up kstars startup.
from 8800+/-300ms to 8450+/-100ms. 

CCMAIL: kstars-devel at kde.org


 M  +18 -3     skypoint.h  


--- trunk/KDE/kdeedu/kstars/kstars/skyobjects/skypoint.h #978210:978211
@@ -54,21 +54,36 @@
     	*@param r Right Ascension
     	*@param d Declination
     	*/
-    SkyPoint( const dms& r, const dms& d ) { set( r, d ); }
+    SkyPoint( const dms& r, const dms& d ) :
+        RA0(r), Dec0(d),
+        RA(r),  Dec(d)
+    {
+        syncQuaternion();
+    }
 
     /**Alternate constructor using pointer arguments, for convenience.
     	*It behaves essentially like the default constructor.
     	*@param r Right Ascension pointer
     	*@param d Declination pointer
     	*/
-    SkyPoint( const dms *r, const dms *d ) { set( dms(*r), dms(*d) ); }
+    SkyPoint( const dms *r, const dms *d ) :
+        RA0(*r), Dec0(*d),
+        RA(*r),  Dec(*d)
+    {
+        syncQuaternion();
+    }
 
     /**Alternate constructor using double arguments, for convenience.
     	*It behaves essentially like the default constructor.
     	*@param r Right Ascension, expressed as a double
     	*@param d Declination, expressed as a double
     	*/
-    explicit SkyPoint( double r=0.0, double d=0.0 ) { set( r, d ); }
+    explicit SkyPoint( double r=0.0, double d=0.0 ) :
+        RA0(r), Dec0(d),
+        RA(r),  Dec(d)
+    {
+        syncQuaternion();
+    }
 
     /**
     	*Empty destructor.


More information about the Kstars-devel mailing list