Thread: [Sablevm-developer] SableJIT/x86 outperforms SableJIT/ppc!
Brought to you by:
egagnon
From: David <db...@cs...> - 2004-03-02 22:39:37
|
Hi, I did a few improvements that results in super good improvements in SableJIT (a retargetable JIT for SableVM) on x86. Note that SableJIT on x86 now seems to outperform SableJIT on ppc. Some results here: http://www.sable.mcgill.ca/~dbelan2/sablejit/results_2004-03-02.html What is interesting is that SableJIT consists of a simple baseline compiler (no optimizer) that uses a RISC model for its retargetable backend. And now, x86 which does not fit that well with the model is better... (Yes, I know, for some benchmarks runs slower, working on that issue) AMD Athlon 1200MHz PowerPC G3 700MHz Both system with 256MB and running Debian GNU/Linux David --- David B=E9langer Graduate Student School of Computer Science McGill University Office: MC226 Web page: http://www.cs.mcgill.ca/~dbelan2/ Public key: http://www.cs.mcgill.ca/~dbelan2/public_key.txt |
From: Grzegorz B. P. <ga...@de...> - 2004-03-03 04:29:01
|
W li=B6cie z wto, 02-03-2004, godz. 17:26, David B=E9langer pisze:=20 > Hi, Hi David, > I did a few improvements that results in super good improvements > in SableJIT (a retargetable JIT for SableVM) on x86. > Note that SableJIT on x86 now seems to outperform SableJIT on ppc. Whoo-ha! It sure looks good! I guess you're making this naive-JIT a little less naive? Smarter register allocation or ...? > Some results here: > http://www.sable.mcgill.ca/~dbelan2/sablejit/results_2004-03-02.html Hmm... It may sound strange, but how come that on x86 you got inlined faster on all benchmarks than direct? I had some serious problems with it lately. What _exact_ compiler version did you use? (I might be wrong, but I think you stopped doing upgrades of SID at some point, is that so?) Could you run sablecc on direct and inlined you compiled (x86 only) and send me these two numbers? (this is my favorite test case where the problem is visible) > What is interesting is that SableJIT consists of a simple baseline > compiler (no optimizer) that uses a RISC model for its retargetable > backend. And now, x86 which does not fit that well with the model > is better... Exactly. > (Yes, I know, for some benchmarks runs slower, working on that issue) I am looking forward to hear, at some point, the story of SableJIT increasing technical improvements. Great work! Grzegorz B. Prokopski --=20 Grzegorz B. Prokopski <ga...@de...> Debian GNU/Linux http://www.debian.org SableVM - LGPLed JVM http://www.sablevm.org Why SableVM ?!? http://devel.sablevm.org/wiki/WhySableVM |
From: David <db...@CS...> - 2004-03-03 22:23:35
|
On Tue, Mar 02, 2004 at 10:58:06PM -0500, Grzegorz B. Prokopski wrote: > W li?cie z wto, 02-03-2004, godz. 17:26, David B=E9langer pisze:=20 > > Hi, > Hi David, >=20 > > I did a few improvements that results in super good improvements > > in SableJIT (a retargetable JIT for SableVM) on x86. > > Note that SableJIT on x86 now seems to outperform SableJIT on ppc. >=20 > Whoo-ha! It sure looks good! I guess you're making this naive-JIT > a little less naive? Smarter register allocation or ...? >=20 I fixed a few thing and did a few improvement. But most changes are due to better usage of regs. > > Some results here: > > http://www.sable.mcgill.ca/~dbelan2/sablejit/results_2004-03-02.html > Hmm... It may sound strange, but how come that on x86 you got inlined > faster on all benchmarks than direct? I had some serious problems > with it lately. What _exact_ compiler version did you use? > (I might be wrong, but I think you stopped doing upgrades of SID at > some point, is that so?) >=20 I am using: gcc-3.3 (GCC) 3.3.3 20040110 (prerelease) (Debian) I always got better results with inlined than direct on my AMD. > Could you run sablecc on direct and inlined you compiled (x86 only) > and send me these two numbers? (this is my favorite test case where > the problem is visible) >=20 yes, I will do it either later tonight or tomorrow. > > What is interesting is that SableJIT consists of a simple baseline > > compiler (no optimizer) that uses a RISC model for its retargetable > > backend. And now, x86 which does not fit that well with the model > > is better... > Exactly. >=20 > > (Yes, I know, for some benchmarks runs slower, working on that issue) > I am looking forward to hear, at some point, the story of SableJIT > increasing technical improvements. >=20 > Great work! I will not have much time for major improvements in the next few months, I have a master thesis to start writing ASAP. :) David --- David B=E9langer Graduate Student School of Computer Science McGill University Office: MC226 Web page: http://www.cs.mcgill.ca/~dbelan2/ Public key: http://www.cs.mcgill.ca/~dbelan2/public_key.txt |
From: Grzegorz B. P. <ga...@de...> - 2004-03-04 03:35:28
|
W li=B6cie z =B6ro, 03-03-2004, godz. 17:09, David B=E9langer pisze:=20 > On Tue, Mar 02, 2004 at 10:58:06PM -0500, Grzegorz B. Prokopski wrote: > > W li?cie z wto, 02-03-2004, godz. 17:26, David B=E9langer pisze:=20 > > > Some results here: > > > http://www.sable.mcgill.ca/~dbelan2/sablejit/results_2004-03-02.htm= l > > Hmm... It may sound strange, but how come that on x86 you got inlined > > faster on all benchmarks than direct? I had some serious problems > > with it lately. What _exact_ compiler version did you use? > > (I might be wrong, but I think you stopped doing upgrades of SID at > > some point, is that so?) > >=20 > I am using: > gcc-3.3 (GCC) 3.3.3 20040110 (prerelease) (Debian) >=20 > I always got better results with inlined than direct on my AMD. That's interesting. Here I have: $ gcc --version gcc (GCC) 3.3.3 (Debian) $ dpkg -l gcc-3.3 ii gcc-3.3 3.3.3-1 The GNU C compiler > > Could you run sablecc on direct and inlined you compiled (x86 only) > > and send me these two numbers? (this is my favorite test case where > > the problem is visible) > >=20 > yes, I will do it either later tonight or tomorrow. Please do it as soon as you can. There's some (black) magic happening here and I need every _sure_ starting point I can have. I haven't found out yet how to effectively downgrade gcc. Last time I did it - it was segfaulting while compiling sablevm. I'll try now again. The intersting thing is. In your version you compile only inlined with -fno-block-reorder. I wonder whether there's some actual speed penalty in the _speedup factor_ between direct and inlined as compared to the Etienne's thesis. It'd be a major problem dropping this option right now because in newer gcc, w/o this option it seems to move the INLINED_END label _above_, _before_ the INLINED_START label... I think some of your tests overlap w/ Etienne's. I'll check it. > I will not have much time for major improvements in the next few months= , > I have a master thesis to start writing ASAP. :) Ah, always this paperwork! 8) Grzegorz B. Prokopski --=20 Grzegorz B. Prokopski <ga...@de...> Debian GNU/Linux http://www.debian.org SableVM - LGPLed JVM http://www.sablevm.org Why SableVM ?!? http://devel.sablevm.org/wiki/WhySableVM |