First Commit
This commit is contained in:
commit
12dcc9b25a
3 changed files with 76 additions and 0 deletions
68
Benchmark/Benchmarking.py
Normal file
68
Benchmark/Benchmarking.py
Normal 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()
|
1
Benchmark/requirements.txt
Normal file
1
Benchmark/requirements.txt
Normal file
|
@ -0,0 +1 @@
|
|||
psutil==5.9.8
|
7
README.md
Normal file
7
README.md
Normal 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*
|
Loading…
Reference in a new issue