First Commit

This commit is contained in:
Alauddin Maulana Hirzan 2024-05-10 19:13:09 +07:00
commit 12dcc9b25a
Signed by: maulanahirzan
GPG key ID: 484DAC952787FA13
3 changed files with 76 additions and 0 deletions

68
Benchmark/Benchmarking.py Normal file
View file

@ -0,0 +1,68 @@
import psutil
import time
import os
class Benchmarking:
def __init__(self):
self.pid = os.getpid()
self.proc = psutil.Process(self.pid)
def get_cpu_percent(self):
self.cpu_percent = self.proc.cpu_percent()
return self.cpu_percent
def get_memory_text_usage(self):
self.memory_text = self.proc.memory_full_info().text / 1024 / 1024
return self.memory_text
def get_memory_data_usage(self):
self.memory_data = self.proc.memory_full_info().data / 1024 / 1024
return self.memory_data
def get_memory_rss_usage(self):
self.memory_rss = self.proc.memory_full_info().rss / 1024 / 1024
return self.memory_rss
def get_memory_vms_usage(self):
self.memory_vms = self.proc.memory_full_info().vms / 1024 / 1024
return self.memory_vms
def set_start_time(self):
self.start = time.time()
def set_end_time(self):
self.end = time.time()
def get_processing_time(self):
self.proc_time = self.end - self.start
return self.proc_time
# Main Script Here
def main():
# Create Object for Benchmark
benchmark = Benchmarking()
# Performance Benchmark
cpu_perc = benchmark.get_cpu_percent() # Call Twice to Avoid 0. Always Call to Get Latest CPU
cpu_perc = benchmark.get_cpu_percent()
memory_text = benchmark.get_memory_text_usage()
memory_data = benchmark.get_memory_data_usage()
memory_rss = benchmark.get_memory_rss_usage()
memory_vms = benchmark.get_memory_vms_usage()
# Processing Time Benchmark
start_time = benchmark.set_start_time()
time.sleep(5)
end_time = benchmark.set_end_time()
# Get Processing Time
processing_time = benchmark.get_processing_time()
# Display Result
info: str = f"""Process ID : {benchmark.pid}
CPU Usage : {cpu_perc}%
Memory Text : {memory_text} MB
Memory Data : {memory_data} MB
Memory RSS : {memory_rss} MB
Memory VMS : {memory_vms} MB
Processing Time : {processing_time}s"""
print(info)
if __name__ == "__main__":
main()

View file

@ -0,0 +1 @@
psutil==5.9.8

7
README.md Normal file
View file

@ -0,0 +1,7 @@
# Python Useful Scripts #
This repository contains useful programs written in **Python 3.9**. Each folder accompanied with **requirements.txt** for easier dependency access.
## Currently Avaiable: ##
* Benchmark Programs : using **psutil** to obtain performance
* *adding more soon*