Hi, On Tue, 2004-04-13 at 11:38, Jeroen Frijters wrote: > This is what I did: > #cd mauve > #mono ../ikvm/bin/ikvmc.exe -out:mauve.exe > -main:gnu.testlet.SimpleTestHarness `find | grep -v altered | grep > .*class$` -reference:../ikvm/bin/classpath.dll > #cp ../ikvm/bin/*.dll .
Aha! OK I actually did: mono ../ikvm/bin/ikvmc.exe -out:mauve.exe \ -main:gnu.testlet.SimpleTestHarness \ gnu/testlet/*.class gnu/testlet/java/lang/Character/*.class \ -reference:../ikvm/bin/classpath.dll Which seemed to give a slightly faster executable then when including all mauve classes. $ time echo gnu.testlet.java.lang.Character.unicode | mono mauve.exe -debug Reading unicode database... done Benchmark : load:2944ms tests:1337ms 0 of 3578944 tests failed real 0m4.905s user 0m0.072s sys 0m0.012s (Best of three runs again) load test overhead total Old: 1703 1292 3174 6169 New: 2944 1337 624 4905 So the overhead/startup cost is way down, but both load and test take much longer. Why is that do you think? > > The other thing to try would be using Mono's --aot option > > to pre-JIT (as it were) the generated exe and dlls. > > I couldn't get that to work. OK seems that it simply: $ mono -O=all --aot mauve.exe Mono Ahead of Time compiler - compiling assembly mauve.exe Executing the native assembler: as /tmp/mono_aot_hSe8Lr -o /tmp/mono_aot_hSe8Lr.o Executing the native linker: ld -shared -o mauve.exe.so /tmp/mono_aot_hSe8Lr.o Compiled 103 out of 104 methods (99%) 0 methods contain absolute addresses (0%) 1 methods contain wrapper references (0%) 0 methods contain lmf pointers (0%) 0 methods have other problems (0%) AOT RESULT 0 You then still need the original "exe" for execution. The man page says about --aot: This option is used to precompile the CIL code in the specified assembly to native code. The generated code is stored in a file with the extension .so. This file will be automatically picked up by the runtime when the assembly is executed. This pre-compiles the methods, but the original assembly is still required to execute as this one contains the metadata and exception information which is not availble on the generated file. When precompiling code, you might want to compile with all optimizations (-O=all). Pre-compiled code is position inde- pendent code. $ time echo gnu.testlet.java.lang.Character.unicode | mono mauve.exe -debug Reading unicode database... done Benchmark : load:2944ms tests:1312ms 0 of 3578944 tests failed real 0m4.882s user 0m0.068s sys 0m0.017s (Best of three again) load test overhead total Old: 1703 1292 3174 6169 New: 2944 1337 624 4905 Oat: 2944 1312 626 4882 So that doesn't seem to help in this case (or I did something wrong and it isn't picking up the mauve.exe.so after all). Cheers, Mark
signature.asc
Description: This is a digitally signed message part
_______________________________________________ Classpath mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/classpath