On Sunday, February 24, 2013 9:45:18 PM UTC+1, Marko Topolnik wrote: > > > > On Sunday, February 24, 2013 9:15:45 PM UTC+1, puzzler wrote: >> >> >> As I mentioned before, I'm generally happy with Clojure's performance, >> but the few times I've had performance problems, I ended up rewriting the >> code at least three different ways in order to try to find the magic >> combination that would boost performance. >> > > Lately I've leaned towards going full monty the first time out: stop > guessing and optimize everything past the entry point to the critical > section. It sounds like more work up front, but in the end it's the "smart" > approach that results in more total effort. > > >> Fortunately, dropping down to Java is relatively painless. But I still >> wonder whether there might be some benefit to having a "low-level DSL" >> within Clojure, a mode that lets you choose to write your code in a way >> where the semantics are closer to the underlying platform. >> > > Just one feature would make a huge difference: reassignable locals. > > >> I haven't used Clojurescript much, but I get the impression that >> Clojurescript is already a step in that direction, with a simpler story >> regarding how mutation, arrays, and primitives are translated to the >> underlying platform, arguably making it easier to get good performance when >> you need it. >> > > The gap between Clojure and JavaScript is far less than Java because both > are dynamic. I think that plays a big part in why ClojureScript can be more > transparent. >
This might be better in the future by utilizing 'invokedynamic' present since Java 7. See discussion here: https://groups.google.com/d/topic/clojure/1mr0m-9XLoo/discussion Marek > > -- -- 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/groups/opt_out.