HiPE compilation gives NINE times speed increase!
Peter-Henry Mander
erlang@REDACTED
Mon Jan 17 11:22:04 CET 2005
Thanks Matthias,
Scott has kindly run the tests as well, and the emerging picture isn't
so much how much more efficient the HiPE native compiled code is, but
rather why is the non-native compilation producing memory-hungry
inefficient VM code?
Is it because the code I wrote is inefficient, and the HiPE compiler
somehow fixes the problem?
Pete.
On Mon, 17 Jan 2005 10:26:37 +0100
Matthias Lang <matthias@REDACTED> wrote:
> Peter-Henry Mander writes:
>
> > Can you all please try this code on other platforms to
> > see if the result is consistent on every one?
>
> I have a feeling at least part of your result is due to the test's
> enormous appetite for memory. I haven't investigated _why_ it wants
> more than 200MB, but I can see that on a 128M machine the test spends
> a lot of its time in the first half swapping.
>
> Anyway, some results:
>
> Machine: antilipe (AMD Sempron 2600+, 512MB of RAM)
> Erlang: R10B-1a
>
> 3> test:test().
> TimeScan 3460391 TimeParse 96369 Size 4063232
> TimeScan 3473355 TimeParse 96250 Size 4063232
> TimeScan 3493909 TimeParse 96484 Size 4063232
> TimeScan 3488711 TimeParse 95609 Size 4063232
> TimeScan 3439052 TimeParse 95309 Size 4063232
> List=[{token,3460391,96369,4063232},
> {token,3473355,96250,4063232},
> {token,3493909,96484,4063232},
> {token,3488711,95609,4063232},
> {token,3439052,95309,4063232}]
> token: 3471083 ( 0% Std DV8) ScanTime 96004 ( 0% Std DV8) ParseTime 3567087 TotalTime
> TimeScan 834282 TimeParse 92701 Size 4063232
> TimeScan 528545 TimeParse 90075 Size 4063232
> TimeScan 520973 TimeParse 90476 Size 4063232
> TimeScan 520780 TimeParse 90155 Size 4063232
> TimeScan 521579 TimeParse 90248 Size 4063232
> List=[{token,834282,92701,4063232},
> {token,528545,90075,4063232},
> {token,520973,90476,4063232},
> {token,520780,90155,4063232},
> {token,521579,90248,4063232}]
> token: 585231 ( 23% Std DV8) ScanTime 90731 ( 1% Std DV8) ParseTime 675962 TotalTime
> token: 5.93113 ScanTimeMult 1.05812 ParseTimeMult
> [{token,5.93113,1.05812}]
>
> ----------------------------------------------------------------------
> Machine: antilipe (AMD Sempron 2600+, 512MB of RAM)
> Erlang: R10B-2
>
> 3> test:test().
> TimeScan 3571545 TimeParse 103291 Size 4063232
> TimeScan 3737924 TimeParse 96995 Size 4063232
> TimeScan 3394747 TimeParse 97837 Size 4063232
> TimeScan 3390644 TimeParse 96918 Size 4063232
> TimeScan 3380244 TimeParse 96984 Size 4063232
> List=[{token,3571545,103291,4063232},
> {token,3737924,96995,4063232},
> {token,3394747,97837,4063232},
> {token,3390644,96918,4063232},
> {token,3380244,96984,4063232}]
> token: 3495020 ( 4% Std DV8) ScanTime 98405 ( 2% Std DV8) ParseTime 3593425 TotalTime
> TimeScan 833296 TimeParse 147895 Size 4063232
> TimeScan 556451 TimeParse 66809 Size 4063232
> TimeScan 555243 TimeParse 66738 Size 4063232
> TimeScan 556225 TimeParse 92473 Size 4063232
> TimeScan 556572 TimeParse 92304 Size 4063232
> List=[{token,833296,147895,4063232},
> {token,556451,66809,4063232},
> {token,555243,66738,4063232},
> {token,556225,92473,4063232},
> {token,556572,92304,4063232}]
> token: 611557 ( 20% Std DV8) ScanTime 93243 ( 35% Std DV8) ParseTime 704800 TotalTime
> token: 5.71495 ScanTimeMult 1.05536 ParseTimeMult
> [{token,5.71495,1.05536}]
>
> ----------------------------------------------------------------------
> Machine: cors (Pentium II, 448MHz, 128MB of RAM)
> Erlang: R10B-0
>
> Hipe crashed while compiling
>
> ----------------------------------------------------------------------
> Machine: cors (Pentium II, 448MHz, 128MB of RAM)
> Erlang: R10B-2
>
> 3> test:test().
> TimeScan 36997097 TimeParse 565284 Size 4063232
> TimeScan 32325258 TimeParse 576348 Size 4063232
> TimeScan 38403200 TimeParse 555851 Size 4063232
> TimeScan 29010239 TimeParse 561904 Size 4063232
> TimeScan 38282352 TimeParse 650434 Size 4063232
> List=[{token,36997097,565284,4063232},
> {token,32325258,576348,4063232},
> {token,38403200,555851,4063232},
> {token,29010239,561904,4063232},
> {token,38282352,650434,4063232}]
> token: 35003629 ( 11% Std DV8) ScanTime 581964 ( 6% Std DV8) P
> arseTime 35585593 TotalTime
> TimeScan 3977486 TimeParse 1659904 Size 4063232
> TimeScan 2123597 TimeParse 340800 Size 4063232
> TimeScan 1815657 TimeParse 248477 Size 4063232
> TimeScan 1818335 TimeParse 249664 Size 4063232
> TimeScan 1812387 TimeParse 246169 Size 4063232
> List=[{token,3977486,1659904,4063232},
> {token,2123597,340800,4063232},
> {token,1815657,248477,4063232},
> {token,1818335,249664,4063232},
> {token,1812387,246169,4063232}]
> token: 2309492 ( 40% Std DV8) ScanTime 549002 (113% Std DV8) P
> arseTime 2858494 TotalTime
> token: 15.1564 ScanTimeMult 1.06004 ParseTimeMult
> [{token,15.1564,1.06004}]
>
> Matt
--
"The Tao of Programming
flows far away
and returns
on the wind of morning."
More information about the erlang-questions
mailing list