how to improve the speed of developing the source code?

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

how to improve the speed of developing the source code?

Laser Yuan
I want to modified some part of the library and maybe add some feature to it in the future. But I found it's really slow to compile and debug the project. I wondered, In what way I can improve development efficiency, since currently I spend more time on waiting for it's building than to debug with it?
------------------------------------------------------------------------------
RSA(R) Conference 2012
Mar 27 - Feb 2
Save $400 by Jan. 27
Register now!
http://p.sf.net/sfu/rsa-sfdev2dev2
_______________________________________________
QuantLib-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-dev
Reply | Threaded
Open this post in threaded view
|

Re: how to improve the speed of developing the source code?

Luigi Ballabio
On Fri, Jan 13, 2012 at 7:50 AM, Laser Yuan <[hidden email]> wrote:
> I want to modified some part of the library and maybe add some feature to it
> in the future. But I found it's really slow to compile and debug the
> project. I wondered, In what way I can improve development efficiency, since
> currently I spend more time on waiting for it's building than to debug with
> it?

What development environment are you using?

Luigi

------------------------------------------------------------------------------
RSA(R) Conference 2012
Mar 27 - Feb 2
Save $400 by Jan. 27
Register now!
http://p.sf.net/sfu/rsa-sfdev2dev2
_______________________________________________
QuantLib-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-dev
Reply | Threaded
Open this post in threaded view
|

Re: how to improve the speed of developing the source code?

Luigi Ballabio
In reply to this post by Laser Yuan
On Fri, Jan 13, 2012 at 7:50 AM, Laser Yuan <[hidden email]> wrote:
> I want to modified some part of the library and maybe add some feature to it
> in the future. But I found it's really slow to compile and debug the
> project. I wondered, In what way I can improve development efficiency, since
> currently I spend more time on waiting for it's building than to debug with
> it?

What are you modifying?  If you edit a hpp file, it might take some
time to rebuild all the files that include it directly or indirectly,
but if you edit a cpp file your IDE should only recompile that single
one.  Also, in Release mode VC++ is set to run the test suite after
recompilation, which takes half an hour.  You can disable that if
you're recompiling frequently (it's a post-build action in the
test-suite project).

Luigi

------------------------------------------------------------------------------
RSA(R) Conference 2012
Mar 27 - Feb 2
Save $400 by Jan. 27
Register now!
http://p.sf.net/sfu/rsa-sfdev2dev2
_______________________________________________
QuantLib-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-dev
Reply | Threaded
Open this post in threaded view
|

Re: how to improve the speed of developing the source code?

Luigi Ballabio
[Note: please leave the mailing list in cc. The discussion might be
useful to others.]

On Fri, Jan 13, 2012 at 11:04 AM, Laser Yuan <[hidden email]> wrote:
> It looks like I do need to modify the head file frequently. I'm in debug
> mode.
> My objective is to modify the LongstaffSchwartzPathPricer by using a
> different payoff function whose independent variables are underlying price,
> time to expiry, drift, diffusion instead of the strike price.
> I also want to test it with O-U stochastic process instead of GBM.

Still, modifying ql/methods/montecarlo/longstaffschwartzpathpricer.hpp
should only cause you to recompile a handful of files in the library,
a couple in the test suite, and the examples.  It shouldn't take this
much.  What files does your IDE recompile?

Luigi

------------------------------------------------------------------------------
RSA(R) Conference 2012
Mar 27 - Feb 2
Save $400 by Jan. 27
Register now!
http://p.sf.net/sfu/rsa-sfdev2dev2
_______________________________________________
QuantLib-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-dev
Reply | Threaded
Open this post in threaded view
|

Re: how to improve the speed of developing the source code?

Laser Yuan
Every time I change something, it takes almost ten minutes to rebuild it. I noticed that there a lots of warning there so it seems it's recompiling many files.

I wondered if I need some make file to make the modification easier?

On Fri, Jan 13, 2012 at 6:21 PM, Luigi Ballabio <[hidden email]> wrote:
[Note: please leave the mailing list in cc. The discussion might be
useful to others.]

On Fri, Jan 13, 2012 at 11:04 AM, Laser Yuan <[hidden email]> wrote:
> It looks like I do need to modify the head file frequently. I'm in debug
> mode.
> My objective is to modify the LongstaffSchwartzPathPricer by using a
> different payoff function whose independent variables are underlying price,
> time to expiry, drift, diffusion instead of the strike price.
> I also want to test it with O-U stochastic process instead of GBM.

Still, modifying ql/methods/montecarlo/longstaffschwartzpathpricer.hpp
should only cause you to recompile a handful of files in the library,
a couple in the test suite, and the examples.  It shouldn't take this
much.  What files does your IDE recompile?

Luigi


------------------------------------------------------------------------------
RSA(R) Conference 2012
Mar 27 - Feb 2
Save $400 by Jan. 27
Register now!
http://p.sf.net/sfu/rsa-sfdev2dev2
_______________________________________________
QuantLib-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-dev
Reply | Threaded
Open this post in threaded view
|

Re: how to improve the speed of developing the source code?

Luigi Ballabio
On Fri, Jan 13, 2012 at 11:31 AM, Laser Yuan <[hidden email]> wrote:
> Every time I change something, it takes almost ten minutes to rebuild it. I
> noticed that there a lots of warning there so it seems it's recompiling many
> files.
>
> I wondered if I need some make file to make the modification easier?

No, it should already be recompiling only what's needed.  Does it
compile the examples, too? (They are the projects called
DiscreteHedging, EquityOption etc.) These might take a bit of time.
Try removing the corresponding projects from the solution.
Also, I guess you're running some code you wrote to test the
modifications.  Does it include only the headers that you need, or
<ql/quantlib.hpp>? The latter is huge and takes a while, whereas if
you only include what you need you should gain some time.

Luigi

------------------------------------------------------------------------------
RSA(R) Conference 2012
Mar 27 - Feb 2
Save $400 by Jan. 27
Register now!
http://p.sf.net/sfu/rsa-sfdev2dev2
_______________________________________________
QuantLib-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-dev
Reply | Threaded
Open this post in threaded view
|

Re: how to improve the speed of developing the source code?

Laser Yuan
Thanks! It seems work for me. After closing all the unrelated projects and including only the head files needed. The building time is shortened to less than one minute.

On Fri, Jan 13, 2012 at 6:39 PM, Luigi Ballabio <[hidden email]> wrote:
On Fri, Jan 13, 2012 at 11:31 AM, Laser Yuan <[hidden email]> wrote:
> Every time I change something, it takes almost ten minutes to rebuild it. I
> noticed that there a lots of warning there so it seems it's recompiling many
> files.
>
> I wondered if I need some make file to make the modification easier?

No, it should already be recompiling only what's needed.  Does it
compile the examples, too? (They are the projects called
DiscreteHedging, EquityOption etc.) These might take a bit of time.
Try removing the corresponding projects from the solution.
Also, I guess you're running some code you wrote to test the
modifications.  Does it include only the headers that you need, or
<ql/quantlib.hpp>? The latter is huge and takes a while, whereas if
you only include what you need you should gain some time.

Luigi


------------------------------------------------------------------------------
RSA(R) Conference 2012
Mar 27 - Feb 2
Save $400 by Jan. 27
Register now!
http://p.sf.net/sfu/rsa-sfdev2dev2
_______________________________________________
QuantLib-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-dev