Skip to main content

Performance survey comparison tool

Project description

perfait

Performance survey comparison tool

Concept

Visualization of multiple measurement results

Measurement of 100 million increments

Performance comparison of binary serializers

What is possible

procperf

  1. Measuring execution time for each programming language
  2. Image output of data in pivot table format

serdesperf

  1. Binary serializer performance measurement
  2. Image output of data in pivot table format

Reason for development

  • I want to visualize the differences in processing speed of each programming language and performance of binary serializers

Versions

Version Summary
0.1.1 Release perfait

Installation

perfait

pip install perfait

Usage

procperf

{
  "Tick": {
    "Dtick": 200,
    "Format": "d"
  },
  "LayoutTitleText": "<b>[procperf]<br>Measurement of 100 million increments</b>",
  "XTitleText": "Elapsed time(ms)",
  "YTitleText": "Programming language",
  "Array": [
    [
      "",
      "Internal",
      "External",
      "Total"
    ],
    [
      "java<br>(openjdk 17.0.13)",
      3,
      38,
      41
    ],
    [
      "go<br>(1.19.8)",
      12,
      156,
      168
    ],
    [
      "csharp<br>(mcs 6.8.0.105)",
      32,
      31,
      63
    ],
    [
      "javascript<br>(node 18.19.0)",
      69,
      48,
      117
    ],
    [
      "cpp<br>(g++ 12)",
      169,
      110,
      279
    ],
    [
      "php<br>(8.2.26)",
      374,
      27,
      401
    ],
    [
      "ruby<br>(3.1.2p20)",
      1357,
      79,
      1436
    ],
    [
      "python<br>(3.11.2)",
      2058,
      31,
      2089
    ]
  ]
}

serdesperf

{
  "Tick": {"Dtick": 2000, "Format": "d"},
  "LayoutTitleText": "<b>[serdesperf]<br>Performance comparison of binary serializers</b>",
  "XTitleText": "",
  "YTitleText": "Binary serializer",
  "Array": [
    ["", "Ser(μs)", "Des(μs)", "Size(byte)"],
    ["Protobuf<br>double[1] first", 2560, 2115, 10],
    ["Protobuf<br>double[1]", 12, 4, 10],
    ["Protobuf<br>double[1000]", 246, 221, 8003],
    ["MessagePack<br>double[1] first", 49750, 1478, 11],
    ["MessagePack<br>double[1]", 25, 3, 11],
    ["MessagePack<br>double[1000]", 66, 95, 9004],
    ["MemoryPack<br>double[1] first", 2554, 1238, 13],
    ["MemoryPack<br>double[1]", 9, 4, 13],
    ["MemoryPack<br>double[1000]", 3, 2, 8005]
  ]
}

CLI

init

Setting up the execution time measurement code

1. Initialize by running CLI

init

perfait init

perfait_scripts\measure_command.py is done.
perfait_scripts\perfait\go.mod is done.
perfait_scripts\perfait\perfait.cs is done.
perfait_scripts\perfait\perfait.go is done.
perfait_scripts\perfait\perfait.hpp is done.
perfait_scripts\perfait\perfait.java is done.
perfait_scripts\perfait\perfait.js is done.
perfait_scripts\perfait\perfait.php is done.
perfait_scripts\perfait\perfait.py is done.
perfait_scripts\perfait\perfait.rb is done.

image.write

Output measurement data as an image

1. Image(PNG) conversion by CLI execution

image.write # <perfait file path> <image file path>

perfait image.write perfait.json perfait.png

perfait.png is done.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

perfait-0.1.1.tar.gz (7.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

perfait-0.1.1-py3-none-any.whl (8.9 kB view details)

Uploaded Python 3

File details

Details for the file perfait-0.1.1.tar.gz.

File metadata

  • Download URL: perfait-0.1.1.tar.gz
  • Upload date:
  • Size: 7.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.0

File hashes

Hashes for perfait-0.1.1.tar.gz
Algorithm Hash digest
SHA256 cbc7631b3a2f7ec7beb299266d1d11833f229014bd75c9ba78b4782c6d7a17ee
MD5 c428b4532bc0334f14ddd216c2a00ace
BLAKE2b-256 77cea5d607f4a23e0f09521695aaeb83897e3707afac68a4aa6eea61ee1a5d87

See more details on using hashes here.

File details

Details for the file perfait-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: perfait-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 8.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.0

File hashes

Hashes for perfait-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 83040af22f4ff467b0609ad0d0581a92af1236bce975ad0ae5f4f4f42a3b3433
MD5 12198e610d004748f7a273e76ddb49d5
BLAKE2b-256 98412f60b07769494c045a0ae39c205b16719c7d4953321b3450d1bff70524d9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page