<html><head><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">If you are gcc, you can look into "ccache" while it does not make the compilation go faster, it caches the output so when you compile again it doesn't have to do all the work. It really a huge help when you are moving between branches in a project like ITK or SimpleITK. I am not sure how much it'll help for your case.<div><br></div><div>Brad<br><div><br></div><div><br><div><div>On Mar 11, 2013, at 7:34 AM, Bill Lorensen <<a href="mailto:bill.lorensen@gmail.com">bill.lorensen@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">As you said, reduce the number of pixel types for development.<br><br><div class="gmail_quote">On Mon, Mar 11, 2013 at 4:21 AM, Ariel Hernán Curiale <span dir="ltr"><<a href="mailto:curiale@gmail.com" target="_blank">curiale@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">Hi Saurabh,<div><br></div><div>Thanks four your tips. I'm using all the headers. I was thinking to use only one pixel type (for develop) with the hope to reduce the compiling time.</div>
<div><br><div>
<span style="text-indent:0px;letter-spacing:normal;font-variant:normal;text-align:-webkit-auto;font-style:normal;font-weight:normal;line-height:normal;border-collapse:separate;text-transform:none;font-size:medium;white-space:normal;font-family:Helvetica;word-spacing:0px">
<div style="font-style:normal;font-size:medium;font-family:Helvetica;font-weight:normal">Thank again.</div><div style="font-style:normal;font-size:medium;font-family:Helvetica;font-weight:normal">
__________________________________<br><font color="#b7bfc5">|</font> Ariel Hernán Curiale Ph.D Student<br><font color="#b7bfc5">|</font> ETSI Telecomunicación<br><font color="#b7bfc5">|</font> Universidad de Valladolid<br>
<font color="#b7bfc5">|</font> Campus Miguel Delibes<br><font color="#b7bfc5">|</font> 47011 Valladolid, Spain<br><font color="#b7bfc5">|</font> Phone: 983-423000 ext. 5590</div><font color="#b7b7b7" style="font-family:Helvetica;font-size:medium;font-weight:normal;font-style:normal">|</font> Web: <a href="http://www.curiale.com.ar/" target="_blank"><font color="#084ebe">www.curiale.com.ar</font></a><br>
<font color="#b7b7b7" style="font-family:Helvetica;font-size:medium;font-weight:normal;font-style:normal">|</font>_________________________________
</span>
</div>
<br><div><div>El 11/03/2013, a las 00:50, Saurabh Garg escribió:</div><div><div class="h5"><br><blockquote type="cite"><div>Hi Ariel,</div><div> </div><div>I had similar problem. There are couple of things you can do. Try to remove the ITK header files which you are not using anymore. As you mention, you are already compiling the modified files only. Try to split the code further over more files/modules, if you can. For Instance, I see, you are using different optimizers. Are you using all of them or testing the performance with different optimizer. In later case, I would protect the code with #ifdef and #endif, so that you can exclude the code/header files which you don't need for the current run.</div>
<div> </div><div> </div><div>HTH,</div><div>Saurabh<br><br></div><div class="gmail_quote">On Sun, Mar 10, 2013 at 2:31 PM, Ariel Hernán Curiale <span dir="ltr"><<a href="mailto:curiale@gmail.com" target="_blank">curiale@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid"><div>Hi,<div>. <br></div><div>I'm looking for some tips about how can I reduce the compilation time. I created some libraries Metric1.a, Metric2.a, Metric3.a, BlockMatching.a and MyRegistration.a to compile just the modified code and not all of it.</div>
<div><br></div><div>In my code, I use this main class:</div><div><br></div><div><div style="font:11px/normal Monaco;margin:0px;font-size-adjust:none;font-stretch:normal"><font face="Helvetica" size="3">#include <itkSymmetricForcesDemonsRegistrationFilter.h></font></div>
<div style="font:11px/normal Monaco;margin:0px;font-size-adjust:none;font-stretch:normal"><font face="Helvetica" size="3">#include <itkMultiResolutionPDEDeformableRegistration.h></font></div></div><div style="font:11px/normal Monaco;margin:0px;font-size-adjust:none;font-stretch:normal">
<div style="font:11px/normal Monaco;margin:0px;font-size-adjust:none;font-stretch:normal"><font face="Helvetica" size="3">#include <itkBSplineInterpolateImageFunction.h></font></div><div style="font:11px/normal Monaco;margin:0px;font-size-adjust:none;font-stretch:normal">
<font face="Helvetica" size="3">#include <itkMultiResolutionImageRegistrationMethod.h></font></div><div style="font:11px/normal Monaco;margin:0px;font-size-adjust:none;font-stretch:normal"><font face="Helvetica" size="3">#include <itkMultiResolutionPyramidImageFilter.h></font></div>
<div style="font:11px/normal Monaco;margin:0px;font-size-adjust:none;font-stretch:normal"><div style="font:11px/normal Monaco;margin:0px;font-size-adjust:none;font-stretch:normal"><font face="Helvetica" size="3">#include <itkBSplineTransform.h></font></div>
<div style="font:11px/normal Monaco;margin:0px;font-size-adjust:none;font-stretch:normal"><font face="Helvetica" size="3">#include <itkRegularStepGradientDescentOptimizer.h></font></div><div style="font:11px/normal Monaco;margin:0px;font-size-adjust:none;font-stretch:normal">
<font face="Helvetica" size="3">#include <itkLBFGSBOptimizer.h></font></div><div style="font:11px/normal Monaco;margin:0px;font-size-adjust:none;font-stretch:normal"><font face="Helvetica" size="3">#include <itkConjugateGradientOptimizer.h></font></div>
<div style="font:11px/normal Monaco;margin:0px;font-size-adjust:none;font-stretch:normal"><div style="font:11px/normal Monaco;margin:0px;font-size-adjust:none;font-stretch:normal"><font face="Helvetica" size="3">#include <itkLinearInterpolateImageFunction.h></font></div>
<div style="font:11px/normal Monaco;margin:0px;font-size-adjust:none;font-stretch:normal"><font face="Helvetica" size="3">#include <itkInterpolateImageFunction.h></font></div><div style="font:11px/normal Monaco;margin:0px;font-size-adjust:none;font-stretch:normal">
<font face="Helvetica" size="3">#include <itkResampleImageFilter.h></font></div><div style="font:11px/normal Monaco;margin:0px;font-size-adjust:none;font-stretch:normal"><div style="font:11px/normal Monaco;margin:0px;font-size-adjust:none;font-stretch:normal">
<font face="Helvetica" size="3">#include <itkRecursiveMultiResolutionPyramidImageFilter.h></font></div><div style="font:11px/normal Monaco;margin:0px;font-size-adjust:none;font-stretch:normal"><div style="font:11px/normal Monaco;margin:0px;font-size-adjust:none;font-stretch:normal">
<font face="Helvetica" size="3">#include <itkCovariantVector.h></font></div><div style="font:11px/normal Monaco;margin:0px;font-size-adjust:none;font-stretch:normal"><div style="font:11px/normal Monaco;margin:0px;font-size-adjust:none;font-stretch:normal">
<font face="Helvetica" size="3">#include <itkMeanSquaresImageToImageMetric.h></font></div><div style="font:11px/normal Monaco;margin:0px;font-size-adjust:none;font-stretch:normal"><div style="font:11px/normal Monaco;margin:0px;font-size-adjust:none;font-stretch:normal">
<font face="Helvetica" size="3">#include <itkBinaryDilateImageFilter.h></font></div><div style="font:11px/normal Monaco;margin:0px;font-size-adjust:none;font-stretch:normal"><div style="font:11px/normal Monaco;margin:0px;font-size-adjust:none;font-stretch:normal">
<font face="Helvetica" size="3">#include <itkResampleImageFilter.h></font></div><div style="font:11px/normal Monaco;margin:0px;font-size-adjust:none;font-stretch:normal"><font face="Helvetica" size="3">#include <itkExtractImageFilter.h></font></div>
<div style="font:11px/normal Monaco;margin:0px;font-size-adjust:none;font-stretch:normal"><div style="font:11px/normal Monaco;margin:0px;font-size-adjust:none;font-stretch:normal"><font face="Helvetica" size="3">#include <itkWarpImageFilter.h></font></div>
<div style="font:11px/normal Monaco;margin:0px;font-size-adjust:none;font-stretch:normal"><div style="font:11px/normal Monaco;margin:0px;font-size-adjust:none;font-stretch:normal"><font face="Helvetica" size="3">#include <itkMultiResolutionPDEDeformableRegistration.h></font></div>
<div style="font:11px/normal Monaco;margin:0px;font-size-adjust:none;font-stretch:normal"><div style="font:11px/normal Monaco;margin:0px;font-size-adjust:none;font-stretch:normal"><font face="Helvetica" size="3">#include <itkRescaleIntensityImageFilter.h></font></div>
<div style="font:11px/normal Monaco;margin:0px;font-size-adjust:none;font-stretch:normal"><font face="Helvetica" size="3">#include <itkBinaryThresholdImageFilter.h></font></div></div></div></div></div></div></div><div style="font:11px/normal Monaco;margin:0px;font-size-adjust:none;font-stretch:normal">
<font face="Helvetica" size="3">#include <itkImageRandomConstIteratorWithIndex.h></font></div><div style="font:11px/normal Monaco;margin:0px;color:rgb(255,255,255);font-size-adjust:none;font-stretch:normal"><span style="text-decoration:underline"><br>
</span></div></div></div></div></div></div><div>Also, I work with different types of pixels in 2D, 3D and 4D:</div><div><div style="font:11px/normal Monaco;margin:0px;font-size-adjust:none;font-stretch:normal"><font face="Helvetica" size="3">unsigned char</font></div>
<div style="font:11px/normal Monaco;margin:0px;font-size-adjust:none;font-stretch:normal"><font face="Helvetica" size="3">char</font></div><div style="font:11px/normal Monaco;margin:0px;font-size-adjust:none;font-stretch:normal">
<font face="Helvetica" size="3">unsigned short</font></div><div style="font:11px/normal Monaco;margin:0px;font-size-adjust:none;font-stretch:normal"><font face="Helvetica" size="3">short</font></div><div style="font:11px/normal Monaco;margin:0px;font-size-adjust:none;font-stretch:normal">
<font face="Helvetica" size="3">unsigned int</font></div><div style="font:11px/normal Monaco;margin:0px;font-size-adjust:none;font-stretch:normal"><font face="Helvetica" size="3">int</font></div><div style="font:11px/normal Monaco;margin:0px;font-size-adjust:none;font-stretch:normal">
<font face="Helvetica" size="3">unsigned long</font></div><div style="font:11px/normal Monaco;margin:0px;font-size-adjust:none;font-stretch:normal"><font face="Helvetica" size="3">long</font></div><div style="font:11px/normal Monaco;margin:0px;font-size-adjust:none;font-stretch:normal">
<font face="Helvetica" size="3">float</font></div><div style="font:11px/normal Monaco;margin:0px;font-size-adjust:none;font-stretch:normal"><font face="Helvetica" size="3">double</font></div></div><div style="font:11px/normal Monaco;margin:0px;font-size-adjust:none;font-stretch:normal">
<font face="Helvetica" size="3"><br></font></div><div style="font:11px/normal Monaco;margin:0px;font-size-adjust:none;font-stretch:normal"><font face="Helvetica" size="3"><br></font></div><div style="font:11px/normal Monaco;margin:0px;font-size-adjust:none;font-stretch:normal">
<span style="font-family:Helvetica;font-size:medium">The main problem is that the code takes too much time to compile (I use itk-4.3, vtk-5.10 and gcc 4.2). If anyone could give me some tips about how can I reduce the compiling time it would be really useful.</span></div>
<div><br></div><div>In the CMakeList.txt I link the libraries and the main code with ${ITK_LIBRARIES} (I couldn't find the ITKRegistrationCommon library to use just this library).</div><div><br><div>
<div><span style="text-transform:none;line-height:normal;text-indent:0px;letter-spacing:normal;font-variant:normal;word-spacing:0px;white-space:normal;border-collapse:separate">
<span style="text-transform:none;line-height:normal;text-indent:0px;letter-spacing:normal;font-variant:normal;word-spacing:0px;white-space:normal;border-collapse:separate"><div style="font-family:Helvetica;font-size:medium;font-style:normal;font-weight:normal">
<div style="font-family:Helvetica;font-size:medium;font-style:normal;font-weight:normal">Regards,</div><div style="font-family:Helvetica;font-size:medium;font-style:normal;font-weight:normal">__________________________________<br>
<font color="#b7bfc5">|</font> Ariel Hernán Curiale Ph.D Student<br><font color="#b7bfc5">|</font> ETSI Telecomunicación<br><font color="#b7bfc5">|</font> Universidad de Valladolid<br><font color="#b7bfc5">|</font> Campus Miguel Delibes<br>
<font color="#b7bfc5">|</font> 47011 Valladolid, Spain<br><font color="#b7bfc5">|</font> Phone: 983-423000 ext. 5590</div><div><font color="#b7b7b7" style="font-family:Helvetica;font-size:medium;font-style:normal;font-weight:normal">|</font> Web: <a href="http://www.curiale.com.ar/" target="_blank"><font color="#084ebe">www.curiale.com.ar</font></a><br>
<font color="#b7b7b7" style="font-family:Helvetica;font-size:medium;font-style:normal;font-weight:normal">|</font><span style="font-family:Helvetica;font-size:medium;font-style:normal;font-weight:normal">_________________________________</span></div>
</div></span></span></div>
</div>
<br></div></div><br>_____________________________________<br>
Powered by <a href="http://www.kitware.com/" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at<br>
<a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Kitware offers ITK Training Courses, for more information visit:<br>
<a href="http://www.kitware.com/products/protraining.php" target="_blank">http://www.kitware.com/products/protraining.php</a><br>
<br>
Please keep messages on-topic and check the ITK FAQ at:<br>
<a href="http://www.itk.org/Wiki/ITK_FAQ" target="_blank">http://www.itk.org/Wiki/ITK_FAQ</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://www.itk.org/mailman/listinfo/insight-users" target="_blank">http://www.itk.org/mailman/listinfo/insight-users</a><br>
<br></blockquote></div><br>
</blockquote></div></div></div><br></div></div><br>_____________________________________<br>
Powered by <a href="http://www.kitware.com/" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at<br>
<a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Kitware offers ITK Training Courses, for more information visit:<br>
<a href="http://www.kitware.com/products/protraining.php" target="_blank">http://www.kitware.com/products/protraining.php</a><br>
<br>
Please keep messages on-topic and check the ITK FAQ at:<br>
<a href="http://www.itk.org/Wiki/ITK_FAQ" target="_blank">http://www.itk.org/Wiki/ITK_FAQ</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://www.itk.org/mailman/listinfo/insight-users" target="_blank">http://www.itk.org/mailman/listinfo/insight-users</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br>Unpaid intern in BillsBasement at noware dot com<br>
_____________________________________<br>Powered by <a href="http://www.kitware.com">www.kitware.com</a><br><br>Visit other Kitware open-source projects at<br><a href="http://www.kitware.com/opensource/opensource.html">http://www.kitware.com/opensource/opensource.html</a><br><br>Kitware offers ITK Training Courses, for more information visit:<br><a href="http://www.kitware.com/products/protraining.php">http://www.kitware.com/products/protraining.php</a><br><br>Please keep messages on-topic and check the ITK FAQ at:<br>http://www.itk.org/Wiki/ITK_FAQ<br><br>Follow this link to subscribe/unsubscribe:<br>http://www.itk.org/mailman/listinfo/insight-users<br></blockquote></div><br></div></div></body></html>