From 06700270edf2ed0941561de3f7dde136accc51f0 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Rapha=C3=ABl=20Couturier?= Date: Sat, 17 Jul 2021 09:26:58 +0200 Subject: [PATCH 1/1] new --- measure_energy_iot/client_tcp4.py | 38 ++++++++++++++---------------- measure_energy_iot/lena2.jpg | Bin 21055 -> 13868 bytes 2 files changed, 18 insertions(+), 20 deletions(-) diff --git a/measure_energy_iot/client_tcp4.py b/measure_energy_iot/client_tcp4.py index 885451f..6485a5d 100644 --- a/measure_energy_iot/client_tcp4.py +++ b/measure_energy_iot/client_tcp4.py @@ -7,7 +7,7 @@ from PIL import Image import sys from io import BytesIO from pathlib import Path - +import numpy as np HOST = "192.168.0.106" PORT = 2345 @@ -15,7 +15,7 @@ PORT = 2345 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect((HOST, PORT)) -nb_times=10 +nb_times=100 quality=int(sys.argv[1]) print("quality ",quality) @@ -86,11 +86,10 @@ with s: sbuf = buffer.Buffer(s) - elapsed_time=0 - t=time.time() + elapsed_time=[] file_name="lena.bmp" for i in range(nb_times): -# print(file_name) + t=time.time() sbuf.put_utf8(file_name) file_size = os.path.getsize(file_name) @@ -98,15 +97,14 @@ with s: with open(file_name, 'rb') as f: sbuf.put_bytes(f.read()) -# print('File Sent') - elapsed_time += time.time() - t - print("send bmp ",elapsed_time/nb_times) + elapsed_time.append(time.time() - t) + + print("send bmp mean",np.mean(elapsed_time), " std ",np.std(elapsed_time)) - elapsed_time=0 - t=time.time() + elapsed_time=[] file_name="lena2.jpg" for i in range(nb_times): - # print(file_name) + t=time.time() sbuf.put_utf8(file_name) file_size = os.path.getsize(file_name) @@ -114,15 +112,15 @@ with s: with open(file_name, 'rb') as f: sbuf.put_bytes(f.read()) - # print('File Sent') - elapsed_time += time.time() - t - print("send noscale jpg ",elapsed_time/nb_times) + elapsed_time.append(time.time() - t) + + print("send noscale jpg mean",np.mean(elapsed_time), " std ",np.std(elapsed_time)) + + elapsed_time=[] - elapsed_time=0 - t=time.time() file_name="lena3.jpg" for i in range(nb_times): - # print(file_name) + t=time.time() sbuf.put_utf8(file_name) file_size = os.path.getsize(file_name) @@ -130,7 +128,7 @@ with s: with open(file_name, 'rb') as f: sbuf.put_bytes(f.read()) - # print('File Sent') - elapsed_time += time.time() - t - print("send scale 4 jpg ",elapsed_time/nb_times) + elapsed_time.append(time.time() - t) + + print("send scale 4 jpg mean",np.mean(elapsed_time), " std ",np.std(elapsed_time)) diff --git a/measure_energy_iot/lena2.jpg b/measure_energy_iot/lena2.jpg index 866507b78bbd50ea25e95d383a3b5504d990ce78..cef42efdd1ebde96ebf796cd1a54437f330da85b 100644 GIT binary patch literal 13868 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 Wh7Ybe$kW=vlRqj#T37vf{yzXELt}ja delta 20739 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 -- 2.39.5