Giter Site home page Giter Site logo

jit-times's Introduction

jit-times is a tool to process methods.txt file produced by Xamarin.Android applications

Usage: jit-times.exe OPTIONS* <methods-file>

Processes JIT methods file from XA app with debug.mono.log=timing enabled

Copyright 2019 Microsoft Corporation

Options:
  -h, --help, -?             Show this message and exit
  -m, --method=TYPE-REGEX    Process only methods whose names match TYPE-REGEX.
  -s                         Sort by self times. (this is default ordering)
  -t                         Sort by total times.
  -u                         Show unsorted results.
  -v, --verbose              Output information about progress during the run
                               of the tool

Getting the methods.txt file

The methods.txt file can be aquired from Xamarin.Android application like this:

  • Enable debug.mono.log

    adb shell setprop debug.mono.log timing

  • Run the application

  • Collect the file - replace the ${PACKAGE} with your application package name

    adb shell run-as ${PACKAGE} cat /data/data/${PACKAGE}/files/.__override__/methods.txt > methods.txt

Example usage:

  • Display JIT times for System.Reflection.Emit methods

    mono jit-times.exe -m ^System.Reflection.Emit methods.txt

Total (ms) |  Self (ms) | Method
      8.35 |       8.35 | System.Reflection.Emit.OpCodes:.cctor ()
      0.57 |       0.57 | System.Reflection.Emit.ILGenerator:Emit (System.Reflection.Emit.OpCode,System.Reflection.Emit.LocalBuilder)
      0.49 |       0.49 | System.Reflection.Emit.ILGenerator:Emit (System.Reflection.Emit.OpCode,System.Reflection.MethodInfo)
      0.39 |       0.39 | System.Reflection.Emit.DynamicMethod:.ctor (string,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type,System.Reflection.Module,bool,bool)
      0.36 |       0.36 | System.Reflection.Emit.ILGenerator:Emit (System.Reflection.Emit.OpCode,System.Reflection.Emit.Label)
      0.36 |       0.36 | System.Reflection.Emit.ILGenerator:DeclareLocal (System.Type,bool)
      0.35 |       0.35 | System.Reflection.Emit.ILGenerator:BeginExceptionBlock ()
      0.34 |       0.34 | System.Reflection.Emit.ILGenerator:Emit (System.Reflection.Emit.OpCode,System.Type)
      0.31 |       0.31 | System.Reflection.Emit.DynamicMethod:CreateDynMethod ()
      0.29 |       0.29 | System.Reflection.Emit.ILGenerator:DefineLabel ()
      0.27 |       0.27 | System.Reflection.Emit.ILGenerator:BeginCatchBlock (System.Type)
      ...
Sum of self time (ms): 16.02

jit-times's People

Contributors

radekdoulik avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.