About Me

My photo
Author of Groovy modules: GBench, GProf, Co-author of a Java book パーフェクトJava, Game Developer at GREE

Saturday, June 27, 2015

GProf supports Groovy 2.4

GProf, the Groovy Profiler supports Groovy 2.4 in the new release version 0.3.1.

The release already has been available on the Maven Central repository and it means that now you can install GProf by the following one line:

@Grab('org.gperfutils:gprof:0.3.1-groovy-2.4') // v0.3.1 for Groovy 2.4

Here is a demo:

// slow !!
def fib(n) {
    if (n < 2) {
        n
    } else {
        fib(n - 1) + fib(n - 2)
    }
}

profile {
    fib(20)
}.prettyPrint()
and the output will be like this:
Flat:

 %    cumulative   self            self     total    self     total   self     total
time   seconds    seconds  calls  ms/call  ms/call  min ms   min ms  max ms   max ms  name
46.8        0.82     0.82      2   411.11   875.84  366.64   786.45  455.58   965.22  Prof.fib
35.1        1.43     0.61  21890     0.02     0.02    0.00     0.00    3.76     3.76  java.lang.Integer.minus
17.9        1.75     0.31  10945     0.02     0.02    0.00     0.00    1.79     1.79  java.lang.Integer.plus
 0.0        1.75     0.00      1     0.74  1753.00    0.74  1753.00    0.74  1753.00  Prof$_run_closure1.fib
 0.0        1.75     0.00      1     0.14  1753.15    0.14  1753.15    0.14  1753.15  Prof$_run_closure1.doCall

Call graph:

index  % time  self  children  calls        name
               0.00      1.75          1/1      
[1]     100.0  0.00      1.75            1  Prof$_run_closure1.doCall [1]
               0.00      1.75          1/1      Prof$_run_closure1.fib [2]
-----------------------------------------------------------------------------
               0.00      1.75          1/1      Prof$_run_closure1.doCall [1]
[2]      99.9  0.00      1.75            1  Prof$_run_closure1.fib [2]
               0.82      0.92          2/2      Prof.fib [3]
               0.00      0.00      2/21890      java.lang.Integer.minus [4]
               0.00      0.00      1/10945      java.lang.Integer.plus [5]
-----------------------------------------------------------------------------
               0.82      0.92          2/2      Prof$_run_closure1.fib [2]
[3]      99.9  0.82      0.92      2+21888  Prof.fib [3]
               0.61      0.00  21888/21890      java.lang.Integer.minus [4]
               0.31      0.00  10944/10945      java.lang.Integer.plus [5]
-----------------------------------------------------------------------------
               0.00      0.00      2/21890      Prof$_run_closure1.fib [2]
               0.61      0.00  21888/21890      Prof.fib [3]
[4]      35.1  0.61      0.00        21890  java.lang.Integer.minus [4]
-----------------------------------------------------------------------------
               0.00      0.00      1/10945      Prof$_run_closure1.fib [2]
               0.31      0.00  10944/10945      Prof.fib [3]
[5]      17.9  0.31      0.00        10945  java.lang.Integer.plus [5]
-----------------------------------------------------------------------------

Last of all,

I'm sorry for the late release and thanks for kicking my butt!

2 comments:

  1. My name is Savannah and I work for Talisman Corporation, an IT specialized recruitment agency based in Tokyo, Japan.

    On behalf of a top internet service company (headquarter in Seattle), we are inviting experienced software developer to join its Tokyo office. This company has over 6800 employees in Japan. You will have chance to work for its overseas office in the future.

    Qualifications:
    - B.S. in computer science or related
    - Experienced of Java/C/C++/C#
    - Fluent in English
    - Business level Japanese

    I would like to share more information with you if you are open to new opportunities. Please let me know your availabilities and contacts if you would like to have a Skype/phone meeting with me, my skype: Xinyun.he2

    If you are not seeking new opportunities at the moment, please keep in touch with us for future cooperation, we will be pleased to help you advance your career in Japan/US. Referrals are most welcome.

    ReplyDelete
  2. Whoa! I’m enjoying the template/theme of this website. It’s simple, yet effective. A lot of times it’s very hard to get that “perfect balance” between superb usability and visual appeal. I must say you’ve done a very good job with this.
    AWS Training in Bangalore |Best AWS Training Institute in Bangalore BTM, Marathahalli
    AWS Training in Chennai | AWS Training Institute in Chennai Velachery, Tambaram, OMR

    ReplyDelete