import matplotlib.pyplot as plt import numpy as np # Lista de valores para os eixos x e y tamanho_buffer = ["0.064", "0.128", "0.256", "0.512", "1", "2", "4", "8"] tempo_execucao_udp = [0.28, 0.24, 0.19, 0.17, 0.15, 0.14, 0.12, 0.09] tempo_execucao_tcp = [0.40, 0.23, 0.20, 0.18, 0.17, 0.16, 0.16, 0.13] tempo_execucao_unix = [0.22, 0.19, 0.19, 0.12, 0.15, 0.10, 0.08, 0.05] tempo_execucao_udp.reverse() tempo_execucao_tcp.reverse() tempo_execucao_unix.reverse() # Cria o gráfico de linha plt.plot(tamanho_buffer, tempo_execucao_tcp, marker='o', linestyle='-', label='Socket TCP') plt.plot(tamanho_buffer, tempo_execucao_unix, marker='o', linestyle='-', label='Socket UNIXDOMAIN') plt.plot(tamanho_buffer, tempo_execucao_udp, marker='o', linestyle='-', label='Socket UDP') # Box plots plt.boxplot([tempo_execucao_tcp, tempo_execucao_unix, tempo_execucao_udp], labels=['TCP', 'UNIXDOMAIN', 'UDP']) plt.yscale('log') ticks_y = [0.01, 0.1, 1, 10] plt.yticks(ticks_y, [f'$10^{{{int(np.log10(val))}}}$' for val in ticks_y]) plt.xlabel('Tamanho do buffer em (KB)') plt.ylabel('Tempo de execução em (ms)') plt.title('Desempenho de conexões UDP, TCP e UNIXDOMAIN') plt.grid(axis='y', linestyle='--', alpha=0.7) plt.legend() plt.show()