My understanding is that invokedynamic was very problematic in Java 7, but
is quite a different design and works much better in Java 8. I'd expect it
to be much more heavily optimised in Java 8 since it's used by a core Java
feature (lambdas). Unfortunately targeting Java 8 only is probably not
feasible for some time.


On 5 April 2014 05:46, Plínio Balduino <pbaldu...@gmail.com> wrote:

> I strongly recommend to talk with dynjs guys about invokedynamic.
>
> Dynjs is a ECMAScript engine written in Java 7 that was intended to use
> all the power of invokedynamic. Again, they can correct me if I'm saying
> bananas, but it looks lie Java 7 has some issues in
> invokedynamic implementation and the result is quite slower than expected.
>
> Douglas Campos, aka qmx, father of dynjs presented some talks about that
> specific feature and the problems that dynjs core team found.
>
> https://www.youtube.com/watch?v=bw-NBcFKNtc
>
> I hope that it can be useful in our discussion.
>
> Plínio
>
>
> On Fri, Apr 4, 2014 at 9:49 AM, Robin Heggelund Hansen <
> skinney...@gmail.com> wrote:
>
>> Great to hear, I'm looking forward to progress :)
>>
>> 4. apr. 2014 kl. 14:45 skrev Alex Miller <a...@puredanger.com>:
>>
>> I agree that we cannot (yet) cut support for Java 6 but we continue to
>> watch polls and usage closely.  Java 6 has been EOL'ed for a while now and
>> usage continues to drop. However, there are a few minor JDK-specific bits
>> already in Clojure and it would be entirely possible to handle separate
>> paths for 6 and 7.
>>
>> The major concern is with the stability and *predictability* of
>> invokedynamic. indy has undergone major revisions between Java 7 and 8 so
>> it may be that what needs to be done is substantially different between the
>> two. My impression from watching the work of people like Charles Nutter is
>> that it requires a lot of flag tweaking to make it work reliably. It also
>> seems that when you go off the fast path, you can go over a cliff with
>> performance. **These are my impressions - they could be wrong.** For these
>> reasons, it has not been high on the priority list, but having more work or
>> data on this would be great. I am not speaking for Rich here, but my guess
>> is that this is compatible with his thoughts.
>>
>> One of my first efforts for 1.7 is going to be working out how to support
>> multiple Clojure builds for different purposes (such as lean runtime,
>> Android, whatever) - this is foundational work that can open up the
>> possibility of specialized Clojure builds, such as an invokedynamic-aware
>> version.
>>
>> Alex
>>
>> On Friday, April 4, 2014 5:09:16 AM UTC-5, Plinio Balduino wrote:
>>>
>>> The guys from core team will correct me if I say any bs, but I think
>>> it's not possible to keep Clojure compatible with Java 6, as Clojure 1.6
>>> is, and use InvokeDynamic bytecode in the same binary. DynJS, for example,
>>> is not compatible with Java 6.
>>>
>>> Anyway, it would be nice to see any experiment with that bytecode and
>>> Clojure, maybe evolving to some form of Clojure 2.0.
>>>
>>> It would be nice to hear the core team and/or Hickey's position about
>>> it.
>>>
>>> Regards
>>>
>>> Plinio Balduino
>>>
>>> On 04/04/2014, at 06:44, Robin Heggelund Hansen <skinn...@gmail.com>
>>> wrote:
>>>
>>> Yeah, those were the blog posts I've read, but I can't see that this is
>>> actually being worked on for Clojure?
>>>
>>> 4. apr. 2014 kl. 11:43 skrev Plínio Balduino <pbal...@gmail.com>:
>>>
>>> Hi, Hansen
>>>
>>> Fogus (from here) and Nutter (from JRuby) wrote nice posts about it.
>>>
>>> http://blog.fogus.me/2011/10/14/why-clojure-doesnt-need-
>>> invokedynamic-but-it-might-be-nice/
>>>
>>> http://blog.headius.com/2011/10/why-clojure-doesnt-need-
>>> invokedynamic.html?m=1
>>>
>>> Plinio Balduino
>>> 11 982 611 487
>>>
>>> On 04/04/2014, at 05:42, Robin Heggelund Hansen <skinn...@gmail.com>
>>> wrote:
>>>
>>> Hi!
>>>
>>> Did someone ever look at supporting InvokeDynamic for Clojure? I've read
>>> a couple of blogs and it seemed interesting, would be cool to know if there
>>> actually were any advantages in practice.
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Clojure" group.
>>> To post to this group, send email to clo...@googlegroups.com
>>> Note that posts from new members are moderated - please be patient with
>>> your first post.
>>> To unsubscribe from this group, send email to
>>> clojure+u...@googlegroups.com
>>> For more options, visit this group at
>>> http://groups.google.com/group/clojure?hl=en
>>> ---
>>> You received this message because you are subscribed to the Google
>>> Groups "Clojure" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to clojure+u...@googlegroups.com.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Clojure" group.
>>> To post to this group, send email to clo...@googlegroups.com
>>> Note that posts from new members are moderated - please be patient with
>>> your first post.
>>> To unsubscribe from this group, send email to
>>> clojure+u...@googlegroups.com
>>> For more options, visit this group at
>>> http://groups.google.com/group/clojure?hl=en
>>> ---
>>> You received this message because you are subscribed to a topic in the
>>> Google Groups "Clojure" group.
>>> To unsubscribe from this topic, visit https://groups.google.com/d/
>>> topic/clojure/vNXIfkgRRkI/unsubscribe.
>>> To unsubscribe from this group and all its topics, send an email to
>>> clojure+u...@googlegroups.com.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>>
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Clojure" group.
>>> To post to this group, send email to clo...@googlegroups.com
>>> Note that posts from new members are moderated - please be patient with
>>> your first post.
>>> To unsubscribe from this group, send email to
>>> clojure+u...@googlegroups.com
>>> For more options, visit this group at
>>> http://groups.google.com/group/clojure?hl=en
>>> ---
>>> You received this message because you are subscribed to the Google
>>> Groups "Clojure" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to clojure+u...@googlegroups.com.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>>
>> --
>> You received this message because you are subscribed to the Google
>> Groups "Clojure" group.
>> To post to this group, send email to clojure@googlegroups.com
>> Note that posts from new members are moderated - please be patient with
>> your first post.
>> To unsubscribe from this group, send email to
>> clojure+unsubscr...@googlegroups.com
>> For more options, visit this group at
>> http://groups.google.com/group/clojure?hl=en
>> ---
>> You received this message because you are subscribed to a topic in the
>> Google Groups "Clojure" group.
>> To unsubscribe from this topic, visit
>> https://groups.google.com/d/topic/clojure/vNXIfkgRRkI/unsubscribe.
>> To unsubscribe from this group and all its topics, send an email to
>> clojure+unsubscr...@googlegroups.com.
>>
>> For more options, visit https://groups.google.com/d/optout.
>>
>>
>>  --
>> You received this message because you are subscribed to the Google
>> Groups "Clojure" group.
>> To post to this group, send email to clojure@googlegroups.com
>> Note that posts from new members are moderated - please be patient with
>> your first post.
>> To unsubscribe from this group, send email to
>> clojure+unsubscr...@googlegroups.com
>> For more options, visit this group at
>> http://groups.google.com/group/clojure?hl=en
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "Clojure" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to clojure+unsubscr...@googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>  --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to