Performance Chart

Chart to shows the performance of geomandel on different systems calculating the mandelbrot fractal


In [9]:
import numpy as np
import matplotlib.pyplot as plt

In [10]:
# data
x_idx = [1, 2, 3, 4, 6, 8]
i5_3470_gcc = [1181, 612, 427, 332, 331, 334]
i5_3470_clang = [2055, 1051, 723, 565, 564, 566]
E5_2620_v2 = [1958, 1010, 1017, 1014, 1010, 1022]
i7_4650U = [1232, 687, 509, 408, 386, 387]

In [11]:
fig = plt.figure(1, figsize=(10, 6))
fig.suptitle("Performance Chart Mandelbrot Fractal", fontsize='large', weight='bold')
ax = fig.add_subplot(111)
ax.set_xlabel("Number of threads")
ax.set_ylabel("Milliseconds")
# axis range
ax.axis([0.5, 10, 200, 2100])
# define major tick frequency
major_y_ticks = np.arange(200, 2100, 100)
major_x_ticks = np.arange(1, 10, 1)
ax.set_yticks(major_y_ticks)
ax.set_xticks(major_x_ticks)


Out[11]:
[<matplotlib.axis.XTick at 0x7f91804e72e8>,
 <matplotlib.axis.XTick at 0x7f91806b1400>,
 <matplotlib.axis.XTick at 0x7f91806ba550>,
 <matplotlib.axis.XTick at 0x7f91804aaa20>,
 <matplotlib.axis.XTick at 0x7f91804bd710>,
 <matplotlib.axis.XTick at 0x7f918051ae48>,
 <matplotlib.axis.XTick at 0x7f91804c3a90>,
 <matplotlib.axis.XTick at 0x7f91804c3f98>,
 <matplotlib.axis.XTick at 0x7f91804c79e8>]

In [12]:
ax.plot(x_idx, i5_3470_gcc, '^-', label="i5-3470, GCC 5.3")
ax.plot(x_idx, i5_3470_clang, 'v-', label="i5-3470, clang 3.7.1")
ax.plot(x_idx, E5_2620_v2, 'o-', label="E5-2620 v2, GCC 4.9.3")
ax.plot(x_idx, i7_4650U, 's-', label="i7-4650U, clang-700.1.81 Apple")
# plot a grid
ax.grid()

In [13]:
plt.legend()
plt.show()