On Sun, Jun 14, 2009 at 10:50 AM, Florian Weimer<fw at deneb.enyo.de> wrote:> Is this really a problem for MLton? I think you only get less precise > alias analysis, and that's it.Correct. However, I want a fair comparison between LLVM performance and the native x86 codegen. If I don't give LLVM the same information the x86 codegen has, it's an unfair comparison.
Wesley W. Terpstra wrote:> On Sun, Jun 14, 2009 at 10:50 AM, Florian Weimer<fw at deneb.enyo.de> wrote: >> Is this really a problem for MLton? I think you only get less precise >> alias analysis, and that's it. > > Correct. However, I want a fair comparison between LLVM performance > and the native x86 codegen. If I don't give LLVM the same information > the x86 codegen has, it's an unfair comparison.I don't think alias analysis currently pays any attention to the pointer type, so using i8* and bitcasting to the right types shouldn't hurt. I could be wrong though. Ciao, Duncan.
On Sunday 14 June 2009 14:09:33 Wesley W. Terpstra wrote:> On Sun, Jun 14, 2009 at 10:50 AM, Florian Weimer<fw at deneb.enyo.de> wrote: > > Is this really a problem for MLton? I think you only get less precise > > alias analysis, and that's it. > > Correct. However, I want a fair comparison between LLVM performance > and the native x86 codegen. If I don't give LLVM the same information > the x86 codegen has, it's an unfair comparison.Even if this puts LLVM at an unfair disadvantage, I think you will find that LLVM will thrash MLton's current x86 backend anyway. I did some benchmarking on HLVM and found that it was often several times faster than OCaml when the GC is not the bottleneck: http://flyingfrogblog.blogspot.com/2009/03/performance-ocaml-vs-hlvm-beta-04.html And, of course, OCaml is fast as ML compilers go... -- Dr Jon Harrop, Flying Frog Consultancy Ltd. http://www.ffconsultancy.com/?e
>On Sunday 14 June 2009 14:09:33 Wesley W. Terpstra wrote: >> On Sun, Jun 14, 2009 at 10:50 AM, Florian Weimer<fw at deneb.enyo.de> wrote: >> > Is this really a problem for MLton? I think you only get less precise >> > alias analysis, and that's it. >> >> Correct. However, I want a fair comparison between LLVM performance >> and the native x86 codegen. If I don't give LLVM the same information >> the x86 codegen has, it's an unfair comparison. > >Even if this puts LLVM at an unfair disadvantage, I think you will find >that >LLVM will thrash MLton's current x86 backend anyway. > >I did some benchmarking on HLVM and found that it was often several times >faster than OCaml when the GC is not the bottleneck: > >http://flyingfrogblog.blogspot.com/2009/03/performance-ocaml-vs-hlvm-beta-04.htmlFor numerical tasks and Array tasks but your graphs show for data manipulation for Lists LLVM is slower. I thnk you need further benchmarks, is this at all posible for you to do :) Interesting, Aaron