Skip to main content

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.

Release files for perfait 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for perfait 0.1.1
File Size Uploaded
perfait-0.1.1.tar.gz 7.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for perfait 0.1.1
File Interpreter ABI Platform
perfait-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 16.8 kB

Release files / perfait-0.1.1.tar.gz

Download URL perfait-0.1.1.tar.gz
Size 7.9 kB
Tags Source
SHA-256 checksum
How to use checksums
cbc7631b3a2f7ec7beb299266d1d11833f229014bd75c9ba78b4782c6d7a17ee
BLAKE2b-256 checksum
How to use checksums
77cea5d607f4a23e0f09521695aaeb83897e3707afac68a4aa6eea61ee1a5d87
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.13.0

Release files / perfait-0.1.1-py3-none-any.whl

Download URL perfait-0.1.1-py3-none-any.whl
Size 8.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
83040af22f4ff467b0609ad0d0581a92af1236bce975ad0ae5f4f4f42a3b3433
BLAKE2b-256 checksum
How to use checksums
98412f60b07769494c045a0ae39c205b16719c7d4953321b3450d1bff70524d9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.13.0

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page