Truffle on-stack-replacement sometimes not working well with background compilation?
Gerard Krol
gerard at gerardkrol.nl
Thu Aug 4 20:13:27 UTC 2016
Hi Christian,
I'm using graalvm version 0.12, with truffle-api 0.15. I'm perfectly happy
with background compilation disabled at the moment, so take your time.
Regards,
Gerard
On Thu, Aug 4, 2016 at 9:56 PM, Christian Humer <christian.humer at gmail.com>
wrote:
> Hi Gerard,
>
> Thanks for the report. Unfortunately I am unable to have a look at it
> right now, but I will asap.
> Can you, in the meantime, provide me with some info on which version of
> graalvm/truffle you are using so I can try to reproduce?
>
> Thanks,
> Christian
>
> On 04.08.2016 21:46:17, "Gerard Krol" <gerard at gerardkrol.nl> wrote:
>
> Hi,
>>
>> I've had some performance problems with Cover[1] and a specific benchmark.
>> Yesterday I finally figured out what was going on. The problem seems to be
>> that on-stack-replacement doesn't always work well with background
>> compilation.
>>
>> The benchmark (fannkuch, [2]) did take 311 seconds to run, while the GCC
>> version would finish in 25 seconds. Warming up (running the benchmark
>> twice
>> and timing the second run) would reduce the runtime to 47 seconds. I like
>> to run my benchmarks without warmup though, as that is a good worst-case
>> scenario.
>>
>> I then figured out that just adding
>> -Dgraal.TruffleBackgroundCompilation=false made a huge difference. The
>> time
>> needed was reduced to 52 seconds.
>>
>> Is this a bug? Expected behavior in some cases? Am I doing something
>> wrong?
>>
>> Reproduction:
>> 1. Get Cover from [1] (don't forget the 5th installation step)
>> 2. Run time ./cover tests/fannkuch-redux_gcc5.cover
>> 3. Run time ./cover -benchmark tests/fannkuch-redux_gcc5.cover (this will
>> disable the background compilation)
>>
>> Regards,
>>
>> Gerard
>>
>> [1] https://github.com/gerard-/cover
>> [2]
>> https://github.com/gerard-/cover/blob/master/tests/fannkuch-
>> redux_gcc5.cover
>>
>
>
More information about the graal-dev
mailing list