Works great for me. Thank you very much for publishing this!
Previously, I tried to use jol-cli  
<http://openjdk.java.net/projects/code-tools/jol/>but it was much more 
cumbersome.

On Monday, 5 March 2018 11:56:20 UTC+1, Alexander Yakushev wrote:
>
> I'm happy to release the first version of clj-memory-meter 
> <https://github.com/clojure-goes-fast/clj-memory-meter>. It's a thin 
> wrapper around jamm  <https://github.com/jbellis/jamm>which allows 
> measuring how much space an arbitrary object occupies. clj-memory-meter is 
> usable from the REPL, can be loaded on-demand, and doesn't require to 
> launch JVM with special parameters.
>
> Blog post with a little more detail and usage examples: 
> http://clojure-goes-fast.com/blog/introspection-tool-object-memory-meter/
>
> To start, using add [com.clojure-goes-fast/clj-memory-meter "0.1.0"], or 
> run the following with clj:
>
> $ clj -Sdeps "{:deps {com.clojure-goes-fast/clj-memory-meter 
> {:mvn/version \"0.1.0\"}}}"
> Clojure 1.9.0
>
> ;; Nevermind the warning, it doesn't break the library.
> user=> (require '[clj-memory-meter.core :as mm])
> objc[59881]: Class JavaLaunchHelper is implemented in both 
> /Library/Java/JavaVirtualMachines/jdk1.8.0_102.jdk/Contents/Home/bin/java 
> (0x1089814c0) and 
> /Library/Java/JavaVirtualMachines/jdk1.8.0_102.jdk/Contents/Home/jre/lib/libinstrument.dylib
>  
> (0x10d9dc4e0). One of the two will be used. Which one is undefined.
> nil
>
> user=> (mm/measure (vec (range 100000)))
> "2.8 MB"
>
> user=> (mm/measure (list 1 2 3 4 5) :debug true)
>
> root [clojure.lang.PersistentList] 320 bytes (40 bytes)
>   |
>   +--_first [java.lang.Long] 24 bytes (24 bytes)
>   |
>   +--_rest [clojure.lang.PersistentList] 256 bytes (40 bytes)
>     |
>     +--_first [java.lang.Long] 24 bytes (24 bytes)
>     |
>     +--_rest [clojure.lang.PersistentList] 192 bytes (40 bytes)
>       |
>       +--_first [java.lang.Long] 24 bytes (24 bytes)
>       |
>       +--_rest [clojure.lang.PersistentList] 128 bytes (40 bytes)
>         |
>         +--_first [java.lang.Long] 24 bytes (24 bytes)
>         |
>         +--_rest [clojure.lang.PersistentList] 64 bytes (40 bytes)
>           |
>           +--_first [java.lang.Long] 24 bytes (24 bytes)
>
> "320 B"
>
> I hope this library will be useful for you. Enjoy!
>

-- 
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