Skip to content
  • Ahmed Karaman's avatar
    5c362ccf
    scripts/performance: Add topN_callgrind.py script · 5c362ccf
    Ahmed Karaman authored
    
    
    Python script that prints the top N most executed functions in QEMU
    using callgrind.
    
    Syntax:
    topN_callgrind.py [-h] [-n] <number of displayed top functions>  -- \
                          <qemu executable> [<qemu executable options>] \
                          <target executable> [<target execurable options>]
    
    [-h] - Print the script arguments help message.
    [-n] - Specify the number of top functions to print.
         - If this flag is not specified, the tool defaults to 25.
    
    Example of usage:
    topN_callgrind.py -n 20 -- qemu-arm coulomb_double-arm
    
    Example Output:
    No.  Percentage Function Name         Source File
    ----  --------- ------------------    ------------------------------
       1    24.577% 0x00000000082db000    ???
       2    20.467% float64_mul           <qemu>/fpu/softfloat.c
       3    14.720% float64_sub           <qemu>/fpu/softfloat.c
       4    13.864% float64_add           <qemu>/fpu/softfloat.c
       5     4.876% helper_mulsd          <qemu>/target/i386/ops_sse.h
       6     3.767% helper_subsd          <qemu>/target/i386/ops_sse.h
       7     3.549% helper_addsd          <qemu>/target/i386/ops_sse.h
       8     2.185% helper_ucomisd        <qemu>/target/i386/ops_sse.h
       9     1.667% helper_lookup_tb_ptr  <qemu>/include/exec/tb-lookup.h
      10     1.662% f64_compare           <qemu>/fpu/softfloat.c
      11     1.509% helper_lookup_tb_ptr  <qemu>/accel/tcg/tcg-runtime.c
      12     0.635% helper_lookup_tb_ptr  <qemu>/include/exec/exec-all.h
      13     0.616% float64_div           <qemu>/fpu/softfloat.c
      14     0.502% helper_pand_xmm       <qemu>/target/i386/ops_sse.h
      15     0.502% float64_mul           <qemu>/include/fpu/softfloat.h
      16     0.476% helper_lookup_tb_ptr  <qemu>/target/i386/cpu.h
      17     0.437% float64_compare_quiet <qemu>/fpu/softfloat.c
      18     0.414% helper_pxor_xmm       <qemu>/target/i386/ops_sse.h
      19     0.353% round_to_int          <qemu>/fpu/softfloat.c
      20     0.347% helper_cc_compute_all <qemu>/target/i386/cc_helper.c
    
    Signed-off-by: default avatarAhmed Karaman <ahmedkhaledkaraman@gmail.com>
    Signed-off-by: default avatarAleksandar Markovic <aleksandar.qemu.devel@gmail.com>
    Reviewed-by: default avatarAleksandar Markovic <aleksandar.qemu.devel@gmail.com>
    Message-Id: <20200626164546.22102-3-ahmedkhaledkaraman@gmail.com>
    5c362ccf
    scripts/performance: Add topN_callgrind.py script
    Ahmed Karaman authored
    
    
    Python script that prints the top N most executed functions in QEMU
    using callgrind.
    
    Syntax:
    topN_callgrind.py [-h] [-n] <number of displayed top functions>  -- \
                          <qemu executable> [<qemu executable options>] \
                          <target executable> [<target execurable options>]
    
    [-h] - Print the script arguments help message.
    [-n] - Specify the number of top functions to print.
         - If this flag is not specified, the tool defaults to 25.
    
    Example of usage:
    topN_callgrind.py -n 20 -- qemu-arm coulomb_double-arm
    
    Example Output:
    No.  Percentage Function Name         Source File
    ----  --------- ------------------    ------------------------------
       1    24.577% 0x00000000082db000    ???
       2    20.467% float64_mul           <qemu>/fpu/softfloat.c
       3    14.720% float64_sub           <qemu>/fpu/softfloat.c
       4    13.864% float64_add           <qemu>/fpu/softfloat.c
       5     4.876% helper_mulsd          <qemu>/target/i386/ops_sse.h
       6     3.767% helper_subsd          <qemu>/target/i386/ops_sse.h
       7     3.549% helper_addsd          <qemu>/target/i386/ops_sse.h
       8     2.185% helper_ucomisd        <qemu>/target/i386/ops_sse.h
       9     1.667% helper_lookup_tb_ptr  <qemu>/include/exec/tb-lookup.h
      10     1.662% f64_compare           <qemu>/fpu/softfloat.c
      11     1.509% helper_lookup_tb_ptr  <qemu>/accel/tcg/tcg-runtime.c
      12     0.635% helper_lookup_tb_ptr  <qemu>/include/exec/exec-all.h
      13     0.616% float64_div           <qemu>/fpu/softfloat.c
      14     0.502% helper_pand_xmm       <qemu>/target/i386/ops_sse.h
      15     0.502% float64_mul           <qemu>/include/fpu/softfloat.h
      16     0.476% helper_lookup_tb_ptr  <qemu>/target/i386/cpu.h
      17     0.437% float64_compare_quiet <qemu>/fpu/softfloat.c
      18     0.414% helper_pxor_xmm       <qemu>/target/i386/ops_sse.h
      19     0.353% round_to_int          <qemu>/fpu/softfloat.c
      20     0.347% helper_cc_compute_all <qemu>/target/i386/cc_helper.c
    
    Signed-off-by: default avatarAhmed Karaman <ahmedkhaledkaraman@gmail.com>
    Signed-off-by: default avatarAleksandar Markovic <aleksandar.qemu.devel@gmail.com>
    Reviewed-by: default avatarAleksandar Markovic <aleksandar.qemu.devel@gmail.com>
    Message-Id: <20200626164546.22102-3-ahmedkhaledkaraman@gmail.com>
Loading