On Java HotSpot:
-XX:+UnlockDiagnosticVMOptions -XX:+PrintAssembly
You'll need quite a few iterations, and be wary of code with no observable
effect (becomes subject to dead code elimination).
As far as I could tell cast or no cast made no difference at all (in this
particular case).
/Johan
Thanks, Johan!
-S
--
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,
Modern JVMs like HotSpot are very good at eliminating unnecessary
instructions. Unfortunately, I haven't heard of a good tool for observing
this process, so you either have to take it on faith or go read the OpenJDK
source code.
-Stuart Sierra
clojure.com
--
You received this message
I rarely have more questions than answers here, but this is one of
those times, and it has to do with efficiency.
Is the bytecode generated from
(let [^StringBuilder sb (StringBuilder.)]
(.append sb Hello, )
(.append sb world)
(.toString sb))
equivalent to Java
final StringBuilder sb =
On Sat, Feb 12, 2011 at 9:42 PM, Ken Wesson kwess...@gmail.com wrote:
Frak. I tried a cleverish way to maybe answer that question from
within Clojure, basically by seeing if a deliberately bad assignment
threw on the assignment or only when the thing got used.
Specifically, I used this:
On Sat, Feb 12, 2011 at 9:35 PM, Ken Wesson kwess...@gmail.com wrote:
I rarely have more questions than answers here, but this is one of
those times, and it has to do with efficiency.
Is the bytecode generated from
(let [^StringBuilder sb (StringBuilder.)]
(.append sb Hello, )
(.append
Java SDK includes javap bytecode disassembler. And you can compile Java
without creating project structure.
$ emacs Test.java
$ javac Test.java
$ javap -c Test
bytecode output goes here
Results:
public class Test {
public static String hello() {
final StringBuilder sb = new
On Sat, Feb 12, 2011 at 10:43 PM, Mikhail Kryshen mikh...@kryshen.net wrote:
Java SDK includes javap bytecode disassembler. And you can compile Java
without creating project structure.
Not with an IDE. You have to resort to poking around at a commandline
and using a normal editor, and then you