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.