Hi all,
could anyone remind me why we have two "On the edge" configurations in the VC project which are indistinguishable from the ordinary "Release" and "Debug"? Secondly: why not having a configuration with "Multithreaded" and another for "Multithreaded DLL", instead of arguing about which should be used? Thanks, Luigi |
Hi Luigi,
the "On the edge" settings were introduced by Nando: they use the project output of QuantLib, while the original Debug and Release configurations use the installed binaries. This way you can build depending projects either with the installed release, or a more recent (possible CVS) version. Jens. -----Original Message----- From: [hidden email] [mailto:[hidden email]] On Behalf Of Luigi Ballabio Sent: Tuesday, October 21, 2003 7:41 PM To: QuantLib developers Subject: [Quantlib-dev] Visual C++ settings Hi all, could anyone remind me why we have two "On the edge" configurations in the VC project which are indistinguishable from the ordinary "Release" and "Debug"? Secondly: why not having a configuration with "Multithreaded" and another for "Multithreaded DLL", instead of arguing about which should be used? Thanks, Luigi ------------------------------------------------------- This SF.net email is sponsored by OSDN developer relations Here's your chance to show off your extensive product knowledge We want to know what you know. Tell us and you have a chance to win $100 http://www.zoomerang.com/survey.zgi?HRPT1X3RYQNC5V4MLNSV3E54 _______________________________________________ Quantlib-dev mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/quantlib-dev |
In reply to this post by Luigi Ballabio-2
>>>>> "Gigi" == Luigi Ballabio <[hidden email]> writes:
Gigi> Hi all, could anyone remind me why we have two "On the edge" Gigi> configurations in the VC project which are indistinguishable Gigi> from the ordinary "Release" and "Debug"? for historical reason? I remember Nando liked this configuration a lot, he used it to distinguish between "current" and "stable" releases. IMO this should be done using different workspaces. Gigi> Secondly: why not having a configuration with Gigi> "Multithreaded" and another for "Multithreaded DLL", instead Gigi> of arguing about which should be used? I completely agree with you. By the way, I also completely agree with the three proposals you posted some time ago (boost smart pointers, flattening name spaces - how about shortening it too? QL:: or ql:: seems nice, and template lattice framework). ciao, enrico -- Enrico Sirola <[hidden email]> |
Ciao Enrico,
On 2003.10.22 16:22, [hidden email] wrote: > >>>>> "Gigi" == Luigi Ballabio <[hidden email]> writes: > > could anyone remind me why we have two "On the edge" > > configurations in the VC project which are indistinguishable > > from the ordinary "Release" and "Debug"? > > for historical reason? I remember Nando liked this configuration a > lot, he used it to distinguish between "current" and "stable" > releases. IMO this should be done using different workspaces. My point exactly. > > Secondly: why not having a configuration with > > "Multithreaded" and another for "Multithreaded DLL", instead > > of arguing about which should be used? > > I completely agree with you. Thanks. > By the way, I also completely agree with > the three proposals you posted some time ago (boost smart pointers, > flattening name spaces - how about shortening it too? QL:: or ql:: > seems nice, and template lattice framework). Well, you can agree with the first two (and as for the second, we can use namespace aliases, so we can have QuantLib, QL and ql too) but as for the third, I was in doubt between two alternatives---which one is the one you're agreeing with? Later, Luigi |
In reply to this post by Luigi Ballabio-2
> could anyone remind me why we have two "On the edge"
>configurations in the VC project which are indistinguishable from the >ordinary "Release" and "Debug"? from http://quantlib.org/html/usage.html, point 5: The "Win32 OnTheEdgeRelease" and "Win32 OnTheEdgeDebug" configurations are equivalent to "Win32 Release" and "Win32 Debug" respectively, except that they do not use the installed QuantLib libraries, but look for the hpp and lib QuantLib files in a relative ..\QuantLib path. This is mainly for QuantLib developers, to allow them to check the examples without having to install their unstable working version of QuantLib. The "OnTheEdge" approach may be adopted in projects using QuantLib, allowing for a quick and easy way to check how the projects work with a new QuantLib release without having to install it. >Secondly: why not having a configuration with "Multithreaded" and >another for "Multithreaded DLL", instead of arguing about which should >be used? since we've dropped the requirement for "Multithreaded" (or "Multithreaded DLL") any arguing should have ended. Whatever setting is currently selected can be easily modified by the user, paying the cost of recompiling the library. We should update this info in the documentation (point 2 of http://quantlib.org/html/usage.html) I'm not against adding multiple configurations for the Multithreaded switch, but all combinations of Multithread+OnTheEdge would lead to 8 configurations.... BTW what is the "Win32 Intel OnTheEdgeRelease" configuration? If I remember right it is for using the Visual Studio IDE with the Intel compiler: could the users please document its usage? ciao -- Nando |
Hi,
On 2003.10.22 11:29, Ferdinando Ametrano wrote: > >> could anyone remind me why we have two "On the edge" >> configurations in the VC project? > from http://quantlib.org/html/usage.html, point 5: > The "Win32 OnTheEdgeRelease" and "Win32 OnTheEdgeDebug" > configurations are equivalent to "Win32 Release" and "Win32 Debug" > respectively, except that they do not use the installed QuantLib > libraries, but look for the hpp and lib QuantLib files in a > relative ..\QuantLib path. This is mainly for QuantLib developers, to > allow them to check the examples without having to install their > unstable working version of QuantLib. Hmm. In my opinion, the examples and the test suite should _always_ point to ../ql and ../lib. It would be kind of strange that they linked against a different version of the library than the one in their very same workspace. This looks to me like the most natural way you can check the examples when you modify the library. And it's still easy to work on the past release---just open its workspace. Inside a workspace, everything is consistent. > The "OnTheEdge" approach may be > adopted in projects using QuantLib, allowing for a quick and easy way > to check how the projects work with a new QuantLib release without > having to install it. Except that you have to replicate the on-the-edge configurations in your project (the pain! the horror!) Real developers temporarily modify their QL_DIR environment variable instead :) >> Secondly: why not having a configuration with "Multithreaded" and >> another for "Multithreaded DLL", instead of arguing about which >> should be used? > Whatever setting is currently selected can be easily modified by the > user... ...but if a developer switches, he must remember to revert the project before committing his working copy to CVS. > I'm not against adding multiple configurations for the Multithreaded > switch, but all combinations of Multithread+OnTheEdge would lead to 8 > configurations.... And that's exactly the reason why I would jettison the on-the-edge thing :) > BTW what is the "Win32 Intel OnTheEdgeRelease" configuration? If I > remember right it is for using the Visual Studio IDE with the Intel > compiler: could the users please document its usage? Never used it. Maybe Marco can elaborate? Later, Luigi |
At 01:01 PM 10/22/2003, Luigi Ballabio wrote:
>>I'm not against adding multiple configurations for the Multithreaded >>switch, but all combinations of Multithread+OnTheEdge would lead to 8 >>configurations.... > >And that's exactly the reason why I would jettison the on-the-edge >thing :) Go ahead. I was just reminding the historical reason behind the OnTheEdge settings, non defending them. I don't use them anymore in my current work ;-) ciao -- Nando |
In reply to this post by Luigi Ballabio-2
Ciao Gigi,
sorry for the delay... >>>>> "Gigi" == Luigi Ballabio <[hidden email]> writes: Gigi> Ciao Enrico, [...] >> By the way, I also completely agree with the three proposals >> you posted some time ago (boost smart pointers, flattening name >> spaces - how about shortening it too? QL:: or ql:: seems nice, >> and template lattice framework). Gigi> Well, you can agree with the first two (and as for the Gigi> second, we can use namespace aliases, so we can have Gigi> QuantLib, QL and ql too) but as for the third, I was in Gigi> doubt between two alternatives---which one is the one you're Gigi> agreeing with? finally i had the time to read again the original message and took a (quick) look at the code. While looking at the use cases you wrote, it doesn't seems that the code using the template framework is/should be more complicated from a user point of view. What we should ask ourselves for is: do we need to switch from a pricing engine to another at runtime? If not, I would go for the template framework (I'm not a template enthusiast - I just like the +300% speed gain). So I'm afraid I responded your question with another question. Hope it helps, enrico -- Enrico Sirola <[hidden email]> |
Free forum by Nabble | Edit this page |