[Mono-list] Benchmark information needed.
Martin Baulig
martin@gnome.org
19 Aug 2002 20:56:09 +0200
Hi Miguel,
I think I get a noticeable speed improvement :-)
* without the patch:
Elapsed: 00:01:17.6490380
Elapsed: 00:01:17.5891000
* with the patch
Elapsed: 00:01:17.4687030
Elapsed: 00:01:17.4107410
* without the patch and --precompile
Elapsed: 00:01:17.6519500
Elapsed: 00:01:17.5262830
Elapsed: 00:01:17.6509770
* with the patch and --precompile
Elapsed: 00:01:17.4046890
Elapsed: 00:01:17.4059810
Elapsed: 00:01:17.4082150
* MCS compilation without the patch:
=======
[martin@einstein mcs]$ rm -f mcs-mono.exe ; time make mcs-mono.exe
mono --precompile @mcs.exe mcs.exe --fatal --timestamp -o mcs-mono.exe assign.cs attribute.cs driver.cs cs-parser.cs cs-tokenizer.cs tree.cs location.cs cfold.cs class.cs codegen.cs const.cs constant.cs decl.cs delegate.cs enum.cs ecore.cs expression.cs genericparser.cs interface.cs literal.cs modifiers.cs namespace.cs parameter.cs pending.cs report.cs rootcontext.cs statement.cs support.cs typemanager.cs
[02:953] Loading references
[00:041] References loaded
[00:010] Initializing Core Types
[00:003] Core Types done
[00:000] Resolving tree
[00:070] Populate tree
[01:222] Emitting code
[04:303] Total so far
[07:682] done
[00:000] Closing types
[00:119] Saved output
[12:107] Total
Compilation succeeded
real 0m14.124s
user 0m13.990s
sys 0m0.080s
[martin@einstein mcs]$ rm -f mcs-mono.exe ; time make mcs-mono.exe
mono --precompile @mcs.exe mcs.exe --fatal --timestamp -o mcs-mono.exe assign.cs attribute.cs driver.cs cs-parser.cs cs-tokenizer.cs tree.cs location.cs cfold.cs class.cs codegen.cs const.cs constant.cs decl.cs delegate.cs enum.cs ecore.cs expression.cs genericparser.cs interface.cs literal.cs modifiers.cs namespace.cs parameter.cs pending.cs report.cs rootcontext.cs statement.cs support.cs typemanager.cs
[03:195] Loading references
[00:042] References loaded
[00:010] Initializing Core Types
[00:003] Core Types done
[00:000] Resolving tree
[00:067] Populate tree
[01:226] Emitting code
[04:548] Total so far
[07:724] done
[00:000] Closing types
[00:119] Saved output
[12:393] Total
Compilation succeeded
real 0m14.892s
user 0m13.910s
sys 0m0.140s
[martin@einstein mcs]$ rm -f mcs-mono.exe ; time make mcs-mono.exe
mono --precompile @mcs.exe mcs.exe --fatal --timestamp -o mcs-mono.exe assign.cs attribute.cs driver.cs cs-parser.cs cs-tokenizer.cs tree.cs location.cs cfold.cs class.cs codegen.cs const.cs constant.cs decl.cs delegate.cs enum.cs ecore.cs expression.cs genericparser.cs interface.cs literal.cs modifiers.cs namespace.cs parameter.cs pending.cs report.cs rootcontext.cs statement.cs support.cs typemanager.cs
[02:948] Loading references
[00:042] References loaded
[00:010] Initializing Core Types
[00:003] Core Types done
[00:000] Resolving tree
[00:069] Populate tree
[01:218] Emitting code
[04:295] Total so far
[07:686] done
[00:000] Closing types
[00:116] Saved output
[12:100] Total
Compilation succeeded
real 0m14.101s
user 0m13.930s
sys 0m0.120s
=======
* MCS compilation with the patch:
=======
[martin@einstein mcs]$ rm -f mcs-mono.exe ; time ~/monocvs/mono/mono/jit/mono --precompile @mcs.exe mcs.exe --fatal --timestamp -o mcs-mono.exe assign.cs attribute.cs driver.cs cs-parser.cs cs-tokenizer.cs tree.cs location.cs cfold.cs class.cs codegen.cs const.cs constant.cs decl.cs delegate.cs enum.cs ecore.cs expression.cs genericparser.cs interface.cs literal.cs modifiers.cs namespace.cs parameter.cs pending.cs report.cs rootcontext.cs statement.cs support.cs typemanager.cs
[03:073] Loading references
[00:040] References loaded
[00:010] Initializing Core Types
[00:003] Core Types done
[00:000] Resolving tree
[00:068] Populate tree
[01:186] Emitting code
[04:384] Total so far
[07:505] done
[00:000] Closing types
[00:121] Saved output
[12:013] Total
Compilation succeeded
real 0m14.006s
user 0m13.760s
sys 0m0.180s
[martin@einstein mcs]$ rm -f mcs-mono.exe ; time ~/monocvs/mono/mono/jit/mono --precompile @mcs.exe mcs.exe --fatal --timestamp -o mcs-mono.exe assign.cs attribute.cs driver.cs cs-parser.cs cs-tokenizer.cs tree.cs location.cs cfold.cs class.cs codegen.cs const.cs constant.cs decl.cs delegate.cs enum.cs ecore.cs expression.cs genericparser.cs interface.cs literal.cs modifiers.cs namespace.cs parameter.cs pending.cs report.cs rootcontext.cs statement.cs support.cs typemanager.cs
[03:069] Loading references
[00:040] References loaded
[00:010] Initializing Core Types
[00:003] Core Types done
[00:000] Resolving tree
[00:070] Populate tree
[01:183] Emitting code
[04:379] Total so far
[07:474] done
[00:000] Closing types
[00:121] Saved output
[11:977] Total
Compilation succeeded
real 0m13.971s
user 0m13.800s
sys 0m0.120s
[martin@einstein mcs]$ rm -f mcs-mono.exe ; time ~/monocvs/mono/mono/jit/mono --precompile @mcs.exe mcs.exe --fatal --timestamp -o mcs-mono.exe assign.cs attribute.cs driver.cs cs-parser.cs cs-tokenizer.cs tree.cs location.cs cfold.cs class.cs codegen.cs const.cs constant.cs decl.cs delegate.cs enum.cs ecore.cs expression.cs genericparser.cs interface.cs literal.cs modifiers.cs namespace.cs parameter.cs pending.cs report.cs rootcontext.cs statement.cs support.cs typemanager.cs
[03:070] Loading references
[00:040] References loaded
[00:010] Initializing Core Types
[00:003] Core Types done
[00:000] Resolving tree
[00:068] Populate tree
[01:184] Emitting code
[04:380] Total so far
[07:477] done
[00:000] Closing types
[00:119] Saved output
[11:979] Total
Compilation succeeded
real 0m13.969s
user 0m13.780s
sys 0m0.140s
[martin@einstein mcs]$ rm -f mcs-mono.exe ; time ~/monocvs/mono/mono/jit/mono --precompile @mcs.exe mcs.exe --fatal --timestamp -o mcs-mono.exe assign.cs attribute.cs driver.cs cs-parser.cs cs-tokenizer.cs tree.cs location.cs cfold.cs class.cs codegen.cs const.cs constant.cs decl.cs delegate.cs enum.cs ecore.cs expression.cs genericparser.cs interface.cs literal.cs
modifiers.cs namespace.cs parameter.cs pending.cs report.cs rootcontext.cs statement.cs support.cs typemanager.cs
[03:065] Loading references
[00:040] References loaded
[00:010] Initializing Core Types
[00:003] Core Types done
[00:000] Resolving tree
[00:070] Populate tree
[01:184] Emitting code
[04:376] Total so far
[07:553] done
[00:000] Closing types
[00:127] Saved output
[12:060] Total
Compilation succeeded
real 0m14.053s
user 0m13.800s
sys 0m0.140s
[martin@einstein mcs]$ rm -f mcs-mono.exe ; time ~/monocvs/mono/mono/jit/mono --precompile @mcs.exe mcs.exe --fatal --timestamp -o mcs-mono.exe assign.cs attribute.cs driver.cs cs-parser.cs cs-tokenizer.cs tree.cs location.cs cfold.cs class.cs codegen.cs const.cs constant.cs decl.cs delegate.cs enum.cs ecore.cs expression.cs genericparser.cs interface.cs literal.cs
modifiers.cs namespace.cs parameter.cs pending.cs report.cs rootcontext.cs statement.cs support.cs typemanager.cs
[03:066] Loading references
[00:040] References loaded
[00:010] Initializing Core Types
[00:003] Core Types done
[00:000] Resolving tree
[00:068] Populate tree
[01:187] Emitting code
[04:379] Total so far
[07:467] done
[00:000] Closing types
[00:120] Saved output
[11:969] Total
Compilation succeeded
real 0m13.977s
user 0m13.830s
sys 0m0.080s
=======
This is MCS without the member cache in TypeContainer/Interface and I usually don't get 11:xx times.
I have an AMD Athlon 900.
--
Martin Baulig
martin@gnome.org