diff options
| author | aarne <aarne@cs.chalmers.se> | 2008-06-27 11:21:49 +0000 |
|---|---|---|
| committer | aarne <aarne@cs.chalmers.se> | 2008-06-27 11:21:49 +0000 |
| commit | e7d1aa58f764651fc676c95b23f43457b1b91dfa (patch) | |
| tree | 9f3810b8593ded48ae7cd382857b5750428c1038 /doc/val-optimization.txt | |
| parent | 22423c640cc28d868578079e13298069247af29f (diff) | |
removed obsolete items from doc
Diffstat (limited to 'doc/val-optimization.txt')
| -rw-r--r-- | doc/val-optimization.txt | 183 |
1 files changed, 0 insertions, 183 deletions
diff --git a/doc/val-optimization.txt b/doc/val-optimization.txt deleted file mode 100644 index e2342876d..000000000 --- a/doc/val-optimization.txt +++ /dev/null @@ -1,183 +0,0 @@ -Idea: in GFC, represent tables as just lists values, without showing -the parameters. - -Concrete syntax: - - table T [t1 ; ... ; tn] - -where t1,...,tn are terms. This is treated as equivalent to - - table {p1 => t1 ; ... ; pn => tn} - -where p1,...,pn is the canonical listing of patterns of type T. - -Advantage: reduce the size of GFC files. - -Disadvantages: you don't get the sharing optimization, e.g. -table {A|B => v} instead of table T [v ; v] -Moreover, it is slower to select from the table, because -one first has to look up the position index of the argument. - -Usage: when compiling a module, use the -val option: - - i -val -src Foo.gf - -Summary of results, testing with lib/resource/french/TestVerbesFre.gf: - - without -val with -val ratio - compilation time 129 s 84 s 65 % - time to read back gfcm 109 s 32 s 29 % - size of generated gfcm 28 M 9 M 32 % - memory use in compilation 376 M 251 M 67 % - memory use in reading gfcm 1120 M 524 M 47 % - -No significant loss in linearization (which needs selection). - -Conclusion: for the case at hand (which prompted the experiment -at the first place), the gain is significant: compilation needs -30 % less resources, and using the compiled grammar needs -50-70 % less. - -More testing is desirable to find out if -val is always good. - -At the moment, reuse is not possible with gfc modules created -with the -val flag (although it is supported by the GF syntax -already). - - - -10/1/2004 - -Test the generation of course-of-values tables - ---------------------- -Without: - - i -src TestVerbesFre.gf - 129160 msec - - > gr -cat=V | l -table - 650 msec - -gf +RTS -K10M -s -8,469,778,952 bytes allocated in the heap -2,779,891,252 bytes copied during GC -133,108,856 bytes maximum residency (36 sample(s)) - - 32295 collections in generation 0 ( 24,25s) - 36 collections in generation 1 ( 24,68s) - - 376 Mb total memory in use - - INIT time 0,01s ( 0,04s elapsed) - MUT time 80,21s (499,76s elapsed) - GC time 48,93s ( 50,01s elapsed) - EXIT time 0,00s ( 0,00s elapsed) - Total time 129,15s (549,81s elapsed) - - %GC time 37,9% (9,1% elapsed) - - Alloc rate 105,581,886 bytes per MUT second - - Productivity 62,1% of total user, 14,6% of total elapsed - - -wc french/*.gfc french/*.gfr - 37 2533 44976 french/CategoriesFre.gfc - 0 9 62 french/ConjugNancy.gfc - 2 29 137 french/MorphoFre.gfc - 29 966 7641 french/NumeralsFre.gfc - 136 393891 4415193 french/RulesFre.gfc - 151 4211 39290 french/StructuralFre.gfc - 123 607 3259 french/SyntaxFre.gfc - 285 4702 59892 french/TestResourceFre.gfc - 6790 27179 184046 french/TestVerbesAbs.gfc - 6781 28170 198376 french/TestVerbesFre.gfc - 20 214 1245 french/TypesFre.gfc - 6494 45458 254878 french/VerbesAbs.gfc - 6494 1272600 23438292 french/VerbesFre.gfc - 6449 45143 209154 french/Vs.gfc - 6278 47836 426316 french/ConjugNancy.gfr - 14465 72471 655006 french/MorphoFre.gfr - 238250 798560 8973600 french/SyntaxFre.gfr - 492 2557 21908 french/TypesFre.gfr - 293276 2747136 38933271 total - -pm | wf test0.gfcm -55660 msec - -wc test0.gfcm - 28041 1784674 28669416 test0.gfcm - -> i test0.gfcm -+ reading test0.gfcm 103290 msec -109450 msec - -1120 Mb total memory in use - ----------------------- -After: - - - i -src -val TestVerbesFre.gf - 84650 msec - - gr -cat=V | l -table - 390 msec - -gf +RTS -K10M -s -6,061,907,436 bytes allocated in the heap -1,576,739,488 bytes copied during GC - 92,700,188 bytes maximum residency (32 sample(s)) - - 23109 collections in generation 0 ( 13,98s) - 32 collections in generation 1 ( 12,02s) - - 251 Mb total memory in use - - INIT time 0,01s ( 0,00s elapsed) - MUT time 59,28s (122,35s elapsed) - GC time 26,00s ( 26,91s elapsed) - EXIT time 0,00s ( 0,00s elapsed) - Total time 85,29s (149,26s elapsed) - - %GC time 30,5% (18,0% elapsed) - - Alloc rate 102,241,650 bytes per MUT second - - Productivity 69,5% of total user, 39,7% of total elapsed - -wc french/*.gfc french/*.gfr - 37 3894 13600 french/CategoriesFre.gfc - 0 9 62 french/ConjugNancy.gfc - 2 29 137 french/MorphoFre.gfc - 29 938 5726 french/NumeralsFre.gfc - 136 354450 3097901 french/RulesFre.gfc - 151 3738 22354 french/StructuralFre.gfc - 123 607 3259 french/SyntaxFre.gfc - 285 2437 18664 french/TestResourceFre.gfc - 6790 27179 184046 french/TestVerbesAbs.gfc - 6781 27694 191696 french/TestVerbesFre.gfc - 20 214 1245 french/TypesFre.gfc - 6494 45458 254878 french/VerbesAbs.gfc - 6494 442149 5078881 french/VerbesFre.gfc - 6449 45143 209154 french/Vs.gfc - 6278 47836 426316 french/ConjugNancy.gfr - 14465 72471 655006 french/MorphoFre.gfr - 238250 798560 8973600 french/SyntaxFre.gfr - 492 2557 21908 french/TypesFre.gfr - 293276 1875363 19158433 total - -pm | wf test1.gfcm -13030 msec - -wc test1.gfcm - 28041 912901 8894578 test1.gfcm - -> i test1.gfcm -+ reading test1.gfcm 24220 msec -32720 msec - -524 Mb total memory in use - - |
