Metadata-Version: 2.1
Name: pmark
Version: 0.0.3
Summary: PMark - Python Benchmark, A Simple yet intuitive python process benchmarking utility
Home-page: https://github.com/kingspp/bmark
Author: Prathyush SP
Author-email: kingspprathyush@gmail.com
License: MIT
Keywords: benchmark monitor python
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Topic :: System :: Benchmark
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Provides-Extra: dev
Provides-Extra: test
Requires-Dist: sphinx (==1.5.3)
Requires-Dist: sphinx-rtd-theme
Requires-Dist: gitchangelog
Requires-Dist: sphinx-autodoc-typehints
Requires-Dist: pyyaml
Requires-Dist: nose
Requires-Dist: check-manifest
Requires-Dist: flake8
Requires-Dist: pympler
Requires-Dist: coverage
Requires-Dist: sphinxcontrib-versioning
Requires-Dist: munch
Requires-Dist: psutil
Provides-Extra: dev
Requires-Dist: check-manifest; extra == 'dev'
Provides-Extra: test
Requires-Dist: coverage; extra == 'test'

pmark
=====

python benchmarking utility

Requirements
^^^^^^^^^^^^

1. **OS:** macOS Maverics+ or Ubuntu 14.04+
2. **Python:** v3.6.0+
3. **Tensorflow:** v1.4.0+

What is pmark?
^^^^^^^^^^^^^^

Pmark - “Python Benchmark” is a simple yet intutive process monitoring
tool, which can monitor, 1. CPU Usage 2. RAM Usage 3. GPU Usage
(Supports only NVidia for now)

Architecture:
^^^^^^^^^^^^^

.. figure:: https://github.com/kingspp/pmark/blob/master/pmark.png
   :alt: Architecture

   Architecture

1. A function with required arguments is sent to the utility.
2. The function is sent as a target for a python Process, which shares
   statistics using a BaseManager.
3. Required Monitors (CPU/GPU/RAM) are attached to the current process
   as threads.
4. The attached monitors are given the main process ``pid`` which helps
   us in extracting consumption of resources by the process, thereby
   increasing the accuracy of monitoring process.
5. Each of the monitors supports interval configuration which can be
   overridden by benchmark interval.
6. The threads for each monitor continues to run, untill main process is
   completed, once done, all the threads, including the main process are
   closed.


