Re: [abc-users] Tracematches performance query

From: Eric Bodden <>
Date: Wed, 19 Mar 2008 15:27:54 -0400

> The reason why I asked was because I thought tracematches were designed
> to be memory safe, therefore its memory consumption should be more or
> less on par with the hand-coded aspect (as in the benchmarks shown on
> the paper). Thus an opinion on this matter would be greatly appreciated.
> Thanks.

They are memory safe. Memory safety means that we don't hold on to
unnecessary objects. But we certainly hold on to all objects that are
necessary for a sound computation. The overhead can easily be
explained by the fact that tracematches use disjuncts to store data.
Each disjunct represents a partial match and is in itself an object.
So if you have 100,000 partial matches for 100,000 accounts and in
fact each Account is such a tiny object that a disjunct takes about
the same space in memory than quite naturally you require twice as
much memory.

To us it was always clear that hand-optimized aspects are potentially
faster and may require less memory. The point is that using
tracematches you can make much less mistakes (hand-writing a good
aspect is hard), you can write code much faster and for actual
programs (not made-up microbenchmarks) get an implementation that is
almost as fast and memory-efficient as a handcoded aspect.

I suggest actually reading our publications, e.g. this one here where
we say exactly that:


Eric Bodden
Sable Research Group
McGill University, Montréal, Canada
Received on Wed Mar 19 2008 - 19:34:33 GMT

This archive was generated by hypermail 2.2.0 : Wed Mar 19 2008 - 19:50:11 GMT