Interesting. I tried the following: :jvm-opts ["-Xmx10g" "-Xms10g" "-XX:+AggressiveOpts" "-server" "-XX:+TieredCompilation" "-XX:ReservedCodeCacheSize=256m" "-XX:TLABSize=1G" "-XX:+PrintGCDetails" "-XX:+PrintGCTimeStamps" "-XX:+UseParNewGC" "-XX:+ResizeTLAB" "-XX:+UseTLAB"]
I got a slight slowdown, and the GC details are as follows: [josiah@compute-1-1 benchmark]$ /usr/bin/time -f %E lein run 0.852: [GC 0.852: [ParNew: 2796224K->6726K(3145728K), 0.0136610 secs] 2796224K->6726K(10136256K), 0.0136930 secs] [Times: user=0.05 sys=0.02, real=0.01 secs] 0.871: [GC 0.871: [ParNew: 2802950K->8104K(3145728K), 0.0116360 secs] 2802950K->8104K(10136256K), 0.0116720 secs] [Times: user=0.06 sys=0.01, real=0.01 secs] 0.890: [GC 0.890: [ParNew: 2804328K->11538K(3145728K), 0.0112460 secs] 2804328K->11538K(10136256K), 0.0112720 secs] [Times: user=0.08 sys=0.00, real=0.01 secs] 0.904: [GC 0.904: [ParNew: 2807762K->11752K(3145728K), 0.0092300 secs] 2807762K->11752K(10136256K), 0.0092550 secs] [Times: user=0.06 sys=0.00, real=0.01 secs] 0.915: [GC 0.915: [ParNew: 2807976K->10702K(3145728K), 0.0072210 secs] 2807976K->10702K(10136256K), 0.0072480 secs] [Times: user=0.06 sys=0.00, real=0.01 secs] 0.969: [GC 0.969: [ParNew: 2806926K->12249K(3145728K), 0.0206880 secs] 2806926K->12249K(10136256K), 0.0207160 secs] [Times: user=0.13 sys=0.01, real=0.02 secs] 21.099: [GC 21.099: [ParNew: 2808473K->14256K(3145728K), 0.0174230 secs] 2808473K->14256K(10136256K), 0.0174580 secs] [Times: user=0.12 sys=0.00, real=0.02 secs] 46.533: [GC 46.533: [ParNew: 2810480K->10070K(3145728K), 0.0097840 secs] 2810480K->10070K(10136256K), 0.0098140 secs] [Times: user=0.08 sys=0.00, real=0.01 secs] 74.988: [GC 74.988: [ParNew: 2806294K->11576K(3145728K), 0.0134020 secs] 2806294K->11576K(10136256K), 0.0134330 secs] [Times: user=0.08 sys=0.00, real=0.02 secs] 105.143: [GC 105.143: [ParNew: 2807800K->12728K(3145728K), 0.0121870 secs] 2807800K->12728K(10136256K), 0.0122240 secs] [Times: user=0.08 sys=0.00, real=0.02 secs] 136.170: [GC 136.170: [ParNew: 2808952K->13336K(3145728K), 0.0144400 secs] 2808952K->13336K(10136256K), 0.0144720 secs] [Times: user=0.09 sys=0.00, real=0.01 secs] 167.703: [GC 167.703: [ParNew: 2809560K->14763K(3145728K), 0.0105520 secs] 2809560K->14763K(10136256K), 0.0105830 secs] [Times: user=0.07 sys=0.00, real=0.01 secs] 199.593: [GC 199.593: [ParNew: 2810987K->11407K(3145728K), 0.0142030 secs] 2810987K->11407K(10136256K), 0.0142350 secs] [Times: user=0.08 sys=0.00, real=0.01 secs] 231.894: [GC 231.894: [ParNew: 2807631K->15066K(3145728K), 0.0129290 secs] 2807631K->15066K(10136256K), 0.0129630 secs] [Times: user=0.10 sys=0.01, real=0.01 secs] 264.239: [GC 264.239: [ParNew: 2811290K->9632K(3145728K), 0.0119130 secs] 2811290K->9632K(10136256K), 0.0119850 secs] [Times: user=0.08 sys=0.00, real=0.01 secs] "Elapsed time: 291038.415325 msecs" Heap par new generation total 3145728K, used 2700935K [0x000000057ae00000, 0x0000000650350000, 0x0000000650350000) eden space 2796224K, 96% used [0x000000057ae00000, 0x000000061f239bb0, 0x00000006258b0000) from space 349504K, 2% used [0x000000063ae00000, 0x000000063b768340, 0x0000000650350000) to space 349504K, 0% used [0x00000006258b0000, 0x00000006258b0000, 0x000000063ae00000) tenured generation total 6990528K, used 0K [0x0000000650350000, 0x00000007fae00000, 0x00000007fae00000) the space 6990528K, 0% used [0x0000000650350000, 0x0000000650350000, 0x0000000650350200, 0x00000007fae00000) compacting perm gen total 21248K, used 11049K [0x00000007fae00000, 0x00000007fc2c0000, 0x0000000800000000) the space 21248K, 52% used [0x00000007fae00000, 0x00000007fb8ca638, 0x00000007fb8ca800, 0x00000007fc2c0000) No shared spaces configured. 4:53.06 [josiah@compute-1-1 benchmark]$ On Mon, Dec 10, 2012 at 3:33 PM, Marshall Bockrath-Vandegrift < llas...@gmail.com> wrote: > "Wm. Josiah Erikson" <wmjos...@gmail.com> writes: > > > Aha. Not only do I get a lot of "made not entrant", I get a lot of > > "made zombie". However, I get this for both runs with map and with > > pmap (and with pmapall as well) > > I’m not sure this is all that enlightening. From what I can gather, > “made not entrant” just means that a JITed version proved to be invalid > in light of later code and new invocation paths won’t use the previous > version. And “made zombie” just means all references to an old JIT’d > version have been lost, making it available to be GC’ed. > > A copy of `conj` becomes “not entrant” after being used on both vectors > and lists, but the new version gets the same speed-up when used on > vectors as a copy which has only been used on vectors. There’s > something else going on which is specifically affecting parallel calls > to the polymorphic version when applied to instances of > `PersistentList`, and `Cons`. > > -Marshall > > -- > 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 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