[Mono-dev] More updates on Mono (before the call)
Miguel de Icaza
miguel at novell.com
Thu Sep 16 15:24:08 EDT 2010
Hello,
> I'm very sorry, this post was intended for another mailing-list
> (non-public).
> Moderators, please delete it.
We do not maintain that infrastructure, it is now owned by a third
party.
I am afraid that this is also echoed on a dozen other mail archiving
sites.
That being said, it looks like fascinating work.
> --
> Regards,
> Sergei Dyshel
>
>
> On Wed, Sep 15, 2010 at 22:59, Sergei Dyshel <qyron.private at gmail.com>
> wrote:
> Hi,
> I've almost finished tuning Mono's Altivec performance. The
> results are , as usual, in this table:
> https://spreadsheets.google.com/ccc?key=0AhjvSAvEoHopdG1LUE9Zdkd1TTZIQ0FCWl82bU5Fa1E&hl=en&authkey=COqyrPMD
>
>
> There are much more "blue" ratios now but there are still some
> optimization issues I couldn't solve:
>
>
> 1) 'mmm_intrchage' uses a different expression for alignment
> checking (versioning) and this expression is somehow isn't
> constand-folded during JITing. This results in twice bigger
> code and register allocator just can't act effectively there.
> By enabling full optimizations in Mono I could partially solve
> this problem but is not the best solution (since this
> increases compilation time).
>
>
> 2) 'video_dissolve_fp', 'saxpy_fp', 'dscal_fp' are all
> variations of simple 'a[i]=b*c[i]+d[i]' floating-point loop.
> The aligned version, generated by vectorizer, looks (in
> Gimple) like: "*(&a+i) = b* (*(&c+i)) + *(&d+i)" and this is
> converted further to CIL. Since Mono has no inter-bb constant
> propagation and all array's addresses are know at JIT time,
> all 3 addresses are generated by Mono in each iteration (and
> it takes 3 PPC instruction for each address). I think this is
> the reason for bad results but the ratios these benchmarks
> behave rather differently. Anyway, it would be much better if
> arrays' addresses were saved to locals in loop prolog and then
> used in each iteration.
>
>
> 'video_dissolve_s8' and 'small_sad' still need to be
> implemented/analyzed. Tommorow I'll update the numbers for
> SSE. I anticipate an improvement after recent tweaks I've
> added to Mono but it won't so good as with Altivec, mostly
> because x87 instruction set is more stack-based so
> floating-point code doesn't get optimized as simply as on
> PowerPC. Anyway, let's wait until tomorrow's results...
>
>
> That's all, folks! (c)
> --
> Regards,
> Sergei Dyshel
>
>
>
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
More information about the Mono-devel-list
mailing list