Truffle update instructions?

christian.humer at gmail.com christian.humer at gmail.com
Thu Apr 9 20:23:55 UTC 2015


Hi Stefan,

A lot of things changed recently. But most likely your performance 
problem is triggered by changes to partial evaluation.

I would suspect that TruffleSOM produces somewhere too much code. But 
many things might be the cause.

As a starter you can run with the new tool 
-G:+PrintTruffleExpansionHistogram which should give you a hint how many 
graal nodes were created from each Java method that got partial 
evaluated. If you see outliers you can start your investigation there.

You can also run with -G:+TraceTrufflePerformanceWarnings which may also 
show you potential problems (Note that this tool also outputs a few 
false positives).

Thanks.

- Christian Humer




------ Original Message ------
From: "Stefan Marr" <java at stefan-marr.de>
To: graal-dev at openjdk.java.net
Sent: 09.04.2015 16:10:14
Subject: Truffle update instructions?

>Hi:
>
>I am in the process of updating TruffleSOM to the latest Graal trunk 
>(as of Apr. 7th, before the JDK update, I think).
>
>After working through all the TruffleDSL related changes, I got it kind 
>of working again.
>
>Unfortunately, I am seeing extreme performance problems.
>It is so bad, that some of the benchmark runs on my benchmark server 
>even start to timeout.
>
>The simple WhileLoop benchmark is a factor 9x slower.
>
>I have the mails on all the TruffleDSL changes, but I don’t remember 
>much else that could be relevant.
>
>Perhaps the changes to the partial evaluation?
>
>Did anyone else notice similar effects, or are there new things I 
>should be watching out for?
>
>
>Something else I was seeing is also that my Queens benchmark ran out of 
>memory with the following error:
>
>java.lang.OutOfMemoryError: Java heap space
>  at java.util.BitSet.initWords(BitSet.java:166)
>  at java.util.BitSet.<init>(BitSet.java:161)
>  at 
>com.oracle.graal.lir.alloc.lsra.LinearScan.computeLocalLiveSets(LinearScan.java:685)
>  at 
>com.oracle.graal.lir.alloc.lsra.LinearScan.allocate(LinearScan.java:1758)
>  at 
>com.oracle.graal.lir.alloc.lsra.LinearScanPhase.run(LinearScanPhase.java:37)
>
>
>Thanks
>Stefan
>
>
>--
>Stefan Marr
>INRIA Lille - Nord Europe
>http://stefan-marr.de/research/
>
>
>



More information about the graal-dev mailing list