[m-dev.] 32-bit sources on 64-bit target

Julien Fischer jfischer at opturion.com
Fri Mar 8 16:47:00 AEDT 2013


On Fri, Mar 8, 2013 at 3:58 PM, Peter Wang <novalazy at gmail.com> wrote:
> On Fri, 8 Mar 2013 15:03:19 +1100, Julien Fischer <jfischer at opturion.com> wrote:
>> Hi Peter,
>>
>> On Fri, Mar 8, 2013 at 10:51 AM, Peter Wang <novalazy at gmail.com> wrote:
>> > On Fri, 8 Mar 2013 00:38:58 +1100, Julien Fischer <jfischer at opturion.com> wrote:
>> >> On Fri, Mar 8, 2013 at 12:17 AM, Paul Bone <paul at bone.id.au> wrote:
>> >> > On Thu, Mar 07, 2013 at 06:00:24PM +1100, Julien Fischer wrote:
>> >> >> On Thu, Mar 7, 2013 at 5:08 PM, Peter Wang <novalazy at gmail.com> wrote:
>> >> >> > The compiler built from pre-generated sources WILL be installed.
>> >> >> > For now, I can't think of why that would be a problem.
>> >> >>
>> >> >> It wouldn't be at the moment since the compiler (and other tools)
>> >> >> are currently built with --mercury-linkage static.  It would be a problem,
>> >> >> if that were not the case.
>> >> >>
>> >> >
>> >> > How much of a performance gain does unboxed floats and 3 tag bits represent
>> >> > specifically for the compiler?
>> >
>> > Suprisingly, significant: (default speedtest)
>> >
>> > mercury_compile.01 average of 6 with ignore=1     10.00
>> > mercury_compile.02 average of 6 with ignore=1     12.08
>>
>> That's quite a difference.  Is mercury_compile.02 built directly from
>> the source distribution
>> C files.
>
> Yes.

And was mercury_compile.01 built with similar options, other than
the number of tag bits and unboxed floats.  The options used for
the source diet are:

    -O5 --opt-space --cross-compiling --no-smart-indexing

>> Providing 64-bit source distributions isn't really going to reduce the
>> complexity of building Mercury from scratch, just shift it around a
>> bit.
>
> How so?

You now have to choose between the 32- and 64-bit versions of the
source distribution.
It's not necessarily as simple a choice as "I have a 64-bit machine,
therefore I must use a
64-bit source distribution" -- consider the current situation on
Windows for example, where
while the machine and OS may very well be 64-bit, Mercury is currently
only supported
in its 32-bit variant.

As far as most end-users are concerned, the only way that installing
Mercury is going
to be significantly improved is by packaging it up as an .rpm, .deb,
.msi, .dmg ... etc etc.

Cheers,
Julien.



More information about the developers mailing list