Re: The Great Startup Problem

2014-08-24 Thread Mark Roos
I am more of the side that invoke dynamic is awesome for enabling dynamic languages on the JVM. Given that there are two areas where I can see some help for my use case which is a true Smalltalk on the JVM. First like Charles I do have a few dependencies on plain old Java methods during startu

Re: The Great Startup Problem

2014-08-24 Thread Mark Roos
In answer to Charles question on what others do to help the startup. Smalltalk is like Ruby in that we always start from source code. In our case there are a few hundred classes and a few thousand methods that would be considered minimal ( we call these the base ) and around a thousand classes a

Re: The Great Startup Problem

2014-08-24 Thread Per Bothner
On 08/24/2014 11:25 AM, Charles Oliver Nutter wrote: On Sun, Aug 24, 2014 at 12:02 PM, Per Bothner wrote: (1) Kawa shows you can have dynamic languages on the JVM that both run fast and have fast start-up. Like Clojure, I'd only consider Kawa to be *somewhat* dynamic. Most function calls ca

Re: The Great Startup Problem

2014-08-24 Thread Charles Oliver Nutter
On Sun, Aug 24, 2014 at 12:55 PM, Jochen Theodorou wrote: > afaik you can set how many times a lambda form has to be executed before it > is compiled... what happens if you set that very low... like 1 and disable > tiered compilation? Forcing all handles to compiler early has the same negative ef

Re: The Great Startup Problem

2014-08-24 Thread Julien Ponge
Hi Per, > (4) Invokedynamic was a noble experiment to alleviate (2), but so far it > does not seem to have solved the problems. > > (5) It is reasonable to continue to seek improvements in invokedynamic, > but in terms of resource prioritization other enhancement in the Java > platform > (value t

Re: The Great Startup Problem

2014-08-24 Thread Charles Oliver Nutter
On Sun, Aug 24, 2014 at 12:02 PM, Per Bothner wrote: > On 08/24/2014 03:46 AM, Marcus Lagergren wrote: >> This is mostly invokedynamic related. Basically, an indy callsite >> requires a lot of implicit class and byte code generation, that is >> the source of the overhead we are mostly discussing.

Re: The Great Startup Problem

2014-08-24 Thread Jochen Theodorou
Am 22.08.2014 22:08, schrieb Charles Oliver Nutter: [...] 2. Lambda forms are too slow to execute and take too long to optimize down to native code. Lambda forms work sorta like the tiered compiler. They'll be interpreted for a while, then they'll become JVM bytecode for a while, which interprets

Re: The Great Startup Problem

2014-08-24 Thread Per Bothner
On 08/24/2014 03:46 AM, Marcus Lagergren wrote: Hi Per! This is mostly invokedynamic related. Basically, an indy callsite requires a lot of implicit class and byte code generation, that is the source of the overhead we are mostly discussing. While tiered compilation adds non determinism, it is u

Re: The Great Startup Problem

2014-08-24 Thread Marcus Lagergren
Hi Per! This is mostly invokedynamic related. Basically, an indy callsite requires a lot of implicit class and byte code generation, that is the source of the overhead we are mostly discussing. While tiered compilation adds non determinism, it is usually (IMHO) bearable… /M On 23 Aug 2014,