rgrig / barista

fork of Barista, an OCaml library for handling Java bytecode
http://barista.x9c.fr/
GNU Lesser General Public License v3.0
1 stars 0 forks source link

speed of encoding #21

Open rgrig opened 12 years ago

rgrig commented 12 years ago

The following are times of running parts of topl on dacapo:

Encoding is more than twice slower than decoding. There's no good reason for this difference; should be fixed.

yoff commented 12 years ago

Does encoding not do static analysis?

rgrig commented 12 years ago

I don't expect that part to be slow on average, unless the algorithm isn't implemented properly.

rgrig commented 12 years ago

Hmm ... You are right: Changing unify to always return Top brings down the runtime from 7m30s to 5m12s. So, the encoding is about 4m58s, out of which about 2m18s are spent spinning in symbolic execution. Meanwhile, decoding is about 1m22s. I still think encoding should be faster, but symbolic execution takes more time than I expected.

Here are the estimates again, for ease of reading later:

yoff commented 12 years ago

Wow, so even the other stuff is twice the time of decoding...does that include writing the files? I share your feeling that the symbolic execution should be faster as well, but I am not really sure why...

rgrig commented 12 years ago

Decoding includes reading the files; encoding includes writing the files.

yoff commented 12 years ago

Ok, then the "other stuff" is definitely too slow, I wonder if it is worth profiling...

rgrig commented 12 years ago

It is worth profiling, but not this week. :)