[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