<div dir="ltr">On Fri, Sep 12, 2008 at 7:28 AM, Muhammad Haggag <span dir="ltr"><<a href="mailto:mhaggag@gmail.com">mhaggag@gmail.com</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Attached is a patch that makes a number of changes to the MSVC build.</blockquote><div><br>Hi, thanks a lot for the patch. I will review and commit it ASAP. <br></div><div> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

== Defaults changed ==<br>
Enables win32 thread support by default.<br>
Enables Unicode by default.<br>
<br>
It makes sense to me to enable both of these by default, given that<br>
Visual C++ enables them by default as well (Unicode, and MT CRT). Are<br>
there any disadvantages to them that would push them into the "opt-in"<br>
category?</blockquote><div><br>There are two problems. First is that both of them introduce a significant overhead, for instance, with unicode strings now by default have to be of the "large" type. Second, Unicode breaks ansi compatibility because support is incomplete and not all Common Lisp functions will perform as expected: you cannot open files with UTF8, there is no sensible external representation, etc. But most important, threads cause a real overhead due to locking of packages and file operations, and most important, due to the current inefficiency of global variable representation.<br>
<br>You do not need thread support to run ECL in a multithreaded application if you restrict yourself to a single thread of Lisp execution, even if Visual C++ compiles your code as multithreaded. OTOH, building  ECL as multithreaded is right now the only flag to activate a multithreaded garbage collector, which is required for multithreaded applications. Hmm,<br>
<br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">But I left it as is for now. "If it isn't broken, don't fix it" and all that :)<br>
</blockquote></div><br>Looks good to me. I only need to run some tests.<br><br>Juanjo<br clear="all"><br>-- <br>Instituto de FĂ­sica Fundamental<br>CSIC, Serrano, 113, Madrid 28040 (Spain) <br><a href="http://juanjose.garciaripoll.googlepages.com">http://juanjose.garciaripoll.googlepages.com</a><br>

</div>