From c92009fe1efa17ab89dea62611b3c53f3bdfdb5a Mon Sep 17 00:00:00 2001 From: =?utf8?q?Rapha=C3=ABl=20Couturier?= Date: Tue, 13 Jul 2021 21:16:57 +0200 Subject: [PATCH] up --- measure_energy_iot/client_tcp4.py | 99 +++++++++++++++++++++++++++--- measure_energy_iot/lena2.jpg | Bin 9554 -> 21055 bytes measure_energy_iot/server_tcp4.py | 2 +- 3 files changed, 90 insertions(+), 11 deletions(-) diff --git a/measure_energy_iot/client_tcp4.py b/measure_energy_iot/client_tcp4.py index f8b73f0..0944d1e 100644 --- a/measure_energy_iot/client_tcp4.py +++ b/measure_energy_iot/client_tcp4.py @@ -3,22 +3,86 @@ import threading import os import time import buffer +from PIL import Image +import sys +from io import BytesIO -HOST = 'bilbo' +HOST = "192.168.0.106" PORT = 2345 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect((HOST, PORT)) +nb_times=100 + +quality=int(sys.argv[1]) +print("quality ",quality) + + + + +im=Image.open("lena.jpg") +im.save("lena.bmp",quality=quality) +elapsed_time=0 +t = time.time() +for i in range(nb_times): + buf = BytesIO() + im.save(buf, "JPEG", quality=quality) + +elapsed_time += time.time() - t + +print("time in memory bmp",elapsed_time/nb_times) + + + +im=Image.open("lena.jpg") + +elapsed_time=0 +t = time.time() +for i in range(nb_times): + im.save("lena.bmp",quality=quality) + +elapsed_time += time.time() - t + +print("time bmp",elapsed_time/nb_times) + + + + +im=Image.open("lena.jpg") +elapsed_time=0 +t = time.time() +for i in range(nb_times): + + im.save("lena2.jpg",quality=quality) +elapsed_time += time.time() - t + +print("time noscale jpg",elapsed_time/nb_times) + + + +elapsed_time=0 +t = time.time() +for i in range(nb_times): + im2=im.resize((256, 256)) + im2.save("lena3.jpg",quality=quality) +elapsed_time += time.time() - t +print("time resize + pil",elapsed_time/nb_times) + + + + + + with s: sbuf = buffer.Buffer(s) elapsed_time=0 t=time.time() - file_name="lena.jpg" - for i in range(10): - print(file_name) + file_name="lena.bmp" + for i in range(nb_times): +# print(file_name) sbuf.put_utf8(file_name) file_size = os.path.getsize(file_name) @@ -26,15 +90,15 @@ with s: with open(file_name, 'rb') as f: sbuf.put_bytes(f.read()) - print('File Sent') +# print('File Sent') elapsed_time += time.time() - t - print("send lena ",elapsed_time) + print("send lena.bmp ",elapsed_time/nb_times) elapsed_time=0 t=time.time() file_name="lena2.jpg" - for i in range(10): - print(file_name) + for i in range(nb_times): + # print(file_name) sbuf.put_utf8(file_name) file_size = os.path.getsize(file_name) @@ -42,8 +106,23 @@ with s: with open(file_name, 'rb') as f: sbuf.put_bytes(f.read()) - print('File Sent') + # print('File Sent') elapsed_time += time.time() - t - print("send lena ",elapsed_time) + print("send noscale lena2.jpg ",elapsed_time/nb_times) + elapsed_time=0 + t=time.time() + file_name="lena3.jpg" + for i in range(nb_times): + # print(file_name) + sbuf.put_utf8(file_name) + + file_size = os.path.getsize(file_name) + sbuf.put_utf8(str(file_size)) + + with open(file_name, 'rb') as f: + sbuf.put_bytes(f.read()) + # print('File Sent') + elapsed_time += time.time() - t + print("send scale lena3.jpg ",elapsed_time/nb_times) diff --git a/measure_energy_iot/lena2.jpg b/measure_energy_iot/lena2.jpg index 56801436f245584e5c2fdbacf039e77c06e20cca..866507b78bbd50ea25e95d383a3b5504d990ce78 100644 GIT binary patch delta 20739 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 literal 9554 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 Q1a2r+@&}Y#|NQ=c0g1Z5#{d8T diff --git a/measure_energy_iot/server_tcp4.py b/measure_energy_iot/server_tcp4.py index 52c3afd..0f078bc 100644 --- a/measure_energy_iot/server_tcp4.py +++ b/measure_energy_iot/server_tcp4.py @@ -3,7 +3,7 @@ import os import buffer -HOST = 'bilbo' +HOST = '' PORT = 2345 # If server and client run in same local directory, -- 2.39.5