[m-rev.] diff: six percent speedup
Julien Fischer
juliensf at cs.mu.OZ.AU
Wed Mar 30 11:00:24 AEST 2005
On Wed, 30 Mar 2005, Zoltan Somogyi wrote:
> These are the benchmark results.
>
> EXTRA_MCFLAGS =
> EXTRA_CFLAGS = -DMR_CHECK_DU_EQ
> GRADE = asm_fast.gc
> mercury_compile.01 average of 12 with ignore=1 49.44
> EXTRA_MCFLAGS =
> EXTRA_CFLAGS =
> GRADE = asm_fast.gc
> mercury_compile.02 average of 12 with ignore=1 52.56
>
> Zoltan.
>
> runtime/mercury_unify_compare_body.h:
> Add a mechanism, conditional on #ifdef MR_CHECK_DU_EQ, for testing
> whether two values are bit-for-bit identical before invoking any of
> the more specific unify or compare code.
>
> Fix some old bugs which showed up only with -DMR_COMPARE_BY_RTTI:
> we were invoking some macros with the wrong number of arguments.
>
> runtime/mercury_conf_param.h:
> Document MR_CHECK_DU_EQ. Turn it on unless another macro,
> MR_DISABLE_CHECK_DU_EQ, is defined. This improves performance by
> six percent. (Thanks to Ralph for the reminder to evaluate this again.
> When I tried this several years ago, it was a performance loss.)
>
> tests/debugger/uci.exp2:
> Add this new expected output file for this test. While uci.exp contains
> the expected output without -DMR_CHECK_DU_EQ, uci.exp2 contains the
> expected output with it, since we no longer get calls to the
> type-specific unify and compare predicates in some cases.
>
Are you going to commit this on the release branch? (I think it should
be committed there as well).
Julien.
--------------------------------------------------------------------------
mercury-reviews mailing list
post: mercury-reviews at cs.mu.oz.au
administrative address: owner-mercury-reviews at cs.mu.oz.au
unsubscribe: Address: mercury-reviews-request at cs.mu.oz.au Message: unsubscribe
subscribe: Address: mercury-reviews-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------
More information about the reviews
mailing list