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
- Measuring execution time for each programming language
- Image output of data in pivot table format
serdesperf
- Binary serializer performance measurement
- 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)
| File | Size | Uploaded | |
|---|---|---|---|
| perfait-0.1.1.tar.gz | 7.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|