All Projects → boris-42 → Profimp

boris-42 / Profimp

Licence: apache-2.0
Python import profiler

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Profimp

Myperf4j
High performance Java APM. Powered by ASM. Try it. Test it. If you feel its better, use it.
Stars: ✭ 2,281 (+4286.54%)
Mutual labels:  performance, profiler, performance-analysis, performance-tuning
Vcprofiler
An accurate and simple tool uses KVO to measure the time cost of every view controller.
Stars: ✭ 61 (+17.31%)
Mutual labels:  performance, profiler, performance-analysis
Deli
Stars: ✭ 148 (+184.62%)
Mutual labels:  performance, performance-analysis, performance-tuning
Goappmonitor
Golang application performance data monitoring.
Stars: ✭ 478 (+819.23%)
Mutual labels:  profiler, performance-analysis, performance-tuning
Pprof
pprof is a tool for visualization and analysis of profiling data
Stars: ✭ 4,990 (+9496.15%)
Mutual labels:  performance, profiler, performance-analysis
Stackimpact Nodejs
DEPRECATED StackImpact Node.js Profiler - Production-Grade Performance Profiler: CPU, memory allocations, async calls, errors, metrics, and more
Stars: ✭ 46 (-11.54%)
Mutual labels:  profiler, performance-analysis, performance-tuning
Inspectit
inspectIT is the leading Open Source APM (Application Performance Management) tool for analyzing your Java (EE) applications.
Stars: ✭ 513 (+886.54%)
Mutual labels:  performance, performance-analysis, performance-tuning
Hotspot
The Linux perf GUI for performance analysis.
Stars: ✭ 2,415 (+4544.23%)
Mutual labels:  performance, profiler, performance-analysis
Stackimpact Java
StackImpact Java Profiler - Production-Grade Performance Profiler: CPU, locks, runtime metrics, and more
Stars: ✭ 7 (-86.54%)
Mutual labels:  profiler, performance-analysis, performance-tuning
Tracy
C++ frame profiler
Stars: ✭ 3,115 (+5890.38%)
Mutual labels:  performance, profiler, performance-analysis
Stackimpact Go
DEPRECATED StackImpact Go Profiler - Production-Grade Performance Profiler: CPU, memory allocations, blocking calls, errors, metrics, and more
Stars: ✭ 276 (+430.77%)
Mutual labels:  profiler, performance-analysis, performance-tuning
Sparklens
Qubole Sparklens tool for performance tuning Apache Spark
Stars: ✭ 345 (+563.46%)
Mutual labels:  performance, performance-analysis, performance-tuning
Why Did You Update
💥 Puts your console on blast when React is making unnecessary updates.
Stars: ✭ 4,089 (+7763.46%)
Mutual labels:  performance, performance-analysis
Performance
⏱ PHP performance tool analyser your script on time, memory usage and db query. Support Laravel and Composer for web, web console and command line interfaces.
Stars: ✭ 429 (+725%)
Mutual labels:  performance, performance-analysis
Nanoscope
An extremely accurate Android method tracing tool.
Stars: ✭ 1,023 (+1867.31%)
Mutual labels:  performance, profiler
Scalene
Scalene: a high-performance, high-precision CPU, GPU, and memory profiler for Python
Stars: ✭ 4,819 (+9167.31%)
Mutual labels:  profiler, performance-analysis
Import Cost
displays the import size of the package you are importing inside the code editor
Stars: ✭ 1,021 (+1863.46%)
Mutual labels:  performance, performance-analysis
Processhacker
A free, powerful, multi-purpose tool that helps you monitor system resources, debug software and detect malware.
Stars: ✭ 6,285 (+11986.54%)
Mutual labels:  performance, performance-tuning
Loopy
A code generator for array-based code on CPUs and GPUs
Stars: ✭ 367 (+605.77%)
Mutual labels:  performance, performance-analysis
Watchdoginspector
Shows your current framerate (fps) in the status bar of your iOS app
Stars: ✭ 497 (+855.77%)
Mutual labels:  performance, performance-analysis

=============================== Profimp - python imports tracer

.. image:: https://img.shields.io/coveralls/boris-42/profimp.svg :target: https://coveralls.io/r/boris-42/profimp

.. image:: https://api.travis-ci.org/boris-42/profimp.svg?branch=master :target: https://travis-ci.org/boris-42/profimp

.. image:: https://pypip.in/version/profimp/badge.svg :target: https://pypi.python.org/pypi/profimp

.. image:: https://pypip.in/py_versions/profimp/badge.svg :target: https://pypi.python.org/pypi/profimp/

.. image:: https://pypip.in/download/profimp/badge.svg :target: https://pypi.python.org/pypi/profimp/

Profimp allows you to trace imports of your code.

This lib should be used to simplify optimization of imports in your code. At least you will find what consumes the most part of time and do the right decisions.

Installation

Installation of profimp is super easy:

.. code-block::

Note you might need to use virtualenv

pip install profimp

or

.. code-block::

git clone https://github.com/boris-42/profimp && cd profimp
python setup.py install

Usage

Syntax:

.. code-block::

profimp [import_module_line] [--html]

Samples:

.. code-block::

profimp "import collections"

profimp "from somemoudle import something"

prpfimp --html "import multiprocessing"

Pretty HTML reports

if you run prpfimp with --html key you will get pretty html output

.. code-block::

profimp "import collections"

.. image:: samples/collections_import_trace.png :alt: American Gothic :width: 650 px

Raw JSON Results

In output you will see something like:

.. code-block::

profimp "import collections"

{
  "level": 0,
  "finished_at": 1427986324.921502,
  "import_line": "root",
  "duration": 1.0581016540527344,
  "started_at": 1427986324.920444,
  "children": [
    {
      "level": 1,
      "finished_at": 1427986324.9215,
      "import_line": "import collections",
      "duration": 1.0390281677246094,
      "started_at": 1427986324.920461,
      "children": [
        {
          "level": 2,
          "finished_at": 1427986324.920694,
          "import_line": "from _abcoll import *",
          "duration": 0.006198883056640625,
          "started_at": 1427986324.920688,
          "children": []
        },
        {
          "level": 2,
          "finished_at": 1427986324.920702,
          "import_line": "import _abcoll",
          "duration": 0.0019073486328125,
          "started_at": 1427986324.9207,
          "children": []
        },
        {
          "level": 2,
          "finished_at": 1427986324.920891,
          "import_line": "from _collections import deque, defaultdict",
          "duration": 0.1850128173828125,
          "started_at": 1427986324.920706,
          "children": []
        },
        {
          "level": 2,
          "finished_at": 1427986324.920899,
          "import_line": "from operator import itemgetter, eq",
          "duration": 0.00286102294921875,
          "started_at": 1427986324.920896,
          "children": []
        },
        {
          "level": 2,
          "finished_at": 1427986324.921064,
          "import_line": "from keyword import iskeyword",
          "duration": 0.16188621520996094,
          "started_at": 1427986324.920902,
          "children": []
        },
        {
          "level": 2,
          "finished_at": 1427986324.92107,
          "import_line": "import sys",
          "duration": 0.0021457672119140625,
          "started_at": 1427986324.921068,
          "children": []
        },
        {
          "level": 2,
          "finished_at": 1427986324.921402,
          "import_line": "import heapq",
          "duration": 0.3299713134765625,
          "started_at": 1427986324.921072,
          "children": [
            {
              "level": 3,
              "finished_at": 1427986324.921241,
              "import_line": "from itertools import islice, count, imap, izip, tee, chain",
              "duration": 0.0040531158447265625,
              "started_at": 1427986324.921237,
              "children": []
            },
            {
              "level": 3,
              "finished_at": 1427986324.921246,
              "import_line": "from operator import itemgetter",
              "duration": 0.0021457672119140625,
              "started_at": 1427986324.921244,
              "children": []
            },
            {
              "level": 3,
              "finished_at": 1427986324.921391,
              "import_line": "from _heapq import *",
              "duration": 0.13899803161621094,
              "started_at": 1427986324.921252,
              "children": []
            }
          ]
        },
        {
          "level": 2,
          "finished_at": 1427986324.921409,
          "import_line": "from itertools import repeat, chain, starmap",
          "duration": 0.00286102294921875,
          "started_at": 1427986324.921406,
          "children": []
        },
        {
          "level": 2,
          "finished_at": 1427986324.921413,
          "import_line": "from itertools import imap",
          "duration": 0.0019073486328125,
          "started_at": 1427986324.921411,
          "children": []
        },
        {
          "level": 2,
          "finished_at": 1427986324.921455,
          "import_line": "from thread import get_ident",
          "duration": 0.03981590270996094,
          "started_at": 1427986324.921415,
          "children": []
        }
      ]
    }
  ]
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].