[isabelle-dev] Performance of datatype_new
Makarius
makarius at sketis.net
Wed Mar 12 13:33:00 CET 2014
This is a public continuation of a sporadic private discussion over the
past few months. Dmitriy had occasionally shown me small and big datatype
examples, and recalled some old questions about the performance of
Local_Theory.define in common local theory targets.
In Isabelle/4d46d53566e6 I've now made the innermost
Proof_Context.transfer_syntax more efficient, by switching to a locally
linear change discipline of the background theory that makes the merges
with the corresponding tables within the proof context much more
light-weight.
That was actually motivated by the hope that apart from types and consts,
we will manage to do the same with facts, too. It would simplify its
global vs. local name space treatment, and make completion of fact names
in the Prover IDE work by sudden magic. Coming soon ...
For now there just more efficient consts merges for Local_Theory.define
and some concrete datatype timings:
macpro 8fe7414f00b1
$ isabelle build -c -D Datatype_Test
Finished Datatype_Test_Old (0:15:03 elapsed time, 0:28:01 cpu time, factor 1.86)
Finished Datatype_Test_New (0:06:15 elapsed time, 0:12:14 cpu time, factor 1.95)
macpro 8fe7414f00b1
$ isabelle build -c -o quick_and_dirty -D Datatype_Test
Finished Datatype_Test_Old (0:11:36 elapsed time, 0:15:19 cpu time, factor 1.32)
Finished Datatype_Test_New (0:04:27 elapsed time, 0:05:07 cpu time, factor 1.14)
macpro ad6bd8030d88
$ isabelle build -c -D Datatype_Test
Finished Datatype_Test_Old (0:14:31 elapsed time, 0:27:18 cpu time, factor 1.88)
Finished Datatype_Test_New (0:05:11 elapsed time, 0:10:47 cpu time, factor 2.08)
macpro ad6bd8030d88
$ isabelle build -c -o quick_and_dirty -D Datatype_Test
Finished Datatype_Test_Old (0:11:14 elapsed time, 0:15:09 cpu time, factor 1.34)
Finished Datatype_Test_New (0:03:21 elapsed time, 0:03:52 cpu time, factor 1.15)
This is an old 8 core machines, using 4 worker threads and Poly/ML SVN
1915 on x86-darwin. The test session is included -- its seems to stem
from some private discussion among the BNF guys and the IsaFoR guys.
The first observation is that datatype_new is actually faster! Are there
further observations from early adopters of what is actually a quite
advanced definitional tool suite awaiting the release this summer.
Makarius
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Datatype_Test.tar.gz
Type: application/octet-stream
Size: 3745 bytes
Desc:
URL: <https://mailmanbroy.informatik.tu-muenchen.de/pipermail/isabelle-dev/attachments/20140312/5253df30/attachment.obj>
More information about the isabelle-dev
mailing list