Version française
Home     About     Download     Resources     Contact us    
Browse thread
Performance
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Xavier Leroy <Xavier.Leroy@i...>
Subject: Re: Performance
>  What about some special platform-dependent tuning in native compilers?
> There is a great difference for 386/586/686/686MMX, and the same for
> sparc/ssparc/usparc...

The ocaml native compiler is a bit too simple-minded to schedule
optimally for e.g. the 586 or the latest Sparcs, which requires quite
a lot of processor-specific knowledge indeed.

Concerning the x86 family, I modified some of the compiler idioms over
time to adapt to the "dominant" processor of the time.  (E.g. avoid
AGI stalls for the 486; avoid movzbl for the Pentium; etc.)  The 686
family (Pentium Pro/II/III), which is dominant nowadays, does so much
work "behind the scene" that those tweaks are no longer needed and
ocamlopt generates pretty much the most straightforward instruction
sequences.

As for the Sparc code generator, it is maintained but not actively
developed.  The Sparc is a dying platform, at least here at INRIA
(the last we bought in our group was in 1993...), so we're not
investing big efforts in it.

>  And, can anybody do a benchmark for bytecode performance on Itanium
> and Alpha? I think, it'll be a good test for a new architecture...

I could do it, but then Intel would have to kill me :-)  Like all
happy fews that have access to a prototype Itanium machine, I had to
agree not to do any benchmarking on this machine.  Apparently, the
prototype Itaniums don't implement all the performance tricks of the final
Itanium processor, and Intel doesn't want to get bad press because of
this.

- Xavier Leroy