133 lines
45 KiB
Plaintext
133 lines
45 KiB
Plaintext
|
{
|
||
|
"metadata": {
|
||
|
"name": "",
|
||
|
"signature": "sha256:1aae17bbf83989324e5ea2689394d9c4668379c714534666e2d0ae76787cb304"
|
||
|
},
|
||
|
"nbformat": 3,
|
||
|
"nbformat_minor": 0,
|
||
|
"worksheets": [
|
||
|
{
|
||
|
"cells": [
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"collapsed": false,
|
||
|
"input": [
|
||
|
"%pylab inline"
|
||
|
],
|
||
|
"language": "python",
|
||
|
"metadata": {},
|
||
|
"outputs": [
|
||
|
{
|
||
|
"output_type": "stream",
|
||
|
"stream": "stdout",
|
||
|
"text": [
|
||
|
"Populating the interactive namespace from numpy and matplotlib\n"
|
||
|
]
|
||
|
}
|
||
|
],
|
||
|
"prompt_number": 1
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"collapsed": false,
|
||
|
"input": [
|
||
|
"import pickle \n",
|
||
|
"\n",
|
||
|
"# get the file here: https://github.com/poppy-project/pypot/releases/download/2.4.0/data.pickle",
|
||
|
"with open('data.pickle') as f:\n",
|
||
|
" data = pickle.load(f)\n",
|
||
|
" \n",
|
||
|
"packets = data['packet']"
|
||
|
],
|
||
|
"language": "python",
|
||
|
"metadata": {},
|
||
|
"outputs": [],
|
||
|
"prompt_number": 2
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"collapsed": false,
|
||
|
"input": [
|
||
|
"to_plot = (('dell', '2.7.8'),\n",
|
||
|
" ('dell', 'pypy-2.3.1'),\n",
|
||
|
"\n",
|
||
|
" ('odroid', '2.7.8'),\n",
|
||
|
" ('odroid', 'pypy-2.3.1'),\n",
|
||
|
" \n",
|
||
|
" ('pi', '2.7.8'),\n",
|
||
|
" ('pi', 'pypy-2.3.1'))"
|
||
|
],
|
||
|
"language": "python",
|
||
|
"metadata": {},
|
||
|
"outputs": [],
|
||
|
"prompt_number": 3
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"collapsed": false,
|
||
|
"input": [
|
||
|
"indices = array([0.5, 1.0, \n",
|
||
|
" 2.0, 2.5,\n",
|
||
|
" 3.5, 4.0])\n",
|
||
|
"\n",
|
||
|
"color = {'serial': 'b',\n",
|
||
|
" 'forged': 'r',\n",
|
||
|
" 'pypot': 'g'}\n",
|
||
|
"\n",
|
||
|
"width = 0.4\n",
|
||
|
"\n",
|
||
|
"with xkcd():\n",
|
||
|
" fig = plt.figure()\n",
|
||
|
" ax = fig.add_axes((0.1, 0.2, 0.8, 0.7))\n",
|
||
|
" \n",
|
||
|
" for s in ['pypot', 'forged', 'serial']:\n",
|
||
|
" x = [mean(packets[s][b][p]) * 1000 for b, p in to_plot]\n",
|
||
|
" ax.bar(indices, x, width, color=color[s])\n",
|
||
|
" \n",
|
||
|
" ax.spines['right'].set_color('none')\n",
|
||
|
" ax.spines['top'].set_color('none')\n",
|
||
|
" ax.xaxis.set_ticks_position('bottom')\n",
|
||
|
" ax.yaxis.set_ticks_position('left')\n",
|
||
|
"\n",
|
||
|
" ax.set_xticks(indices + width/2)\n",
|
||
|
" \n",
|
||
|
" ax.set_xticklabels(['2.7.8\\n PC',\n",
|
||
|
" 'PyPy',\n",
|
||
|
" '2.7.8\\n Odroid',\n",
|
||
|
" 'PyPy',\n",
|
||
|
" '2.7.8\\n Raspberry pi',\n",
|
||
|
" 'PyPy'])\n",
|
||
|
"\n",
|
||
|
" plt.ylabel('time (ms)')\n",
|
||
|
" plt.title(\"BOARDS COMPARISON\")\n",
|
||
|
" legend(['pypot', 'preforged-packet', 'raw serial'], loc='best')\n",
|
||
|
" savefig('packet.png')"
|
||
|
],
|
||
|
"language": "python",
|
||
|
"metadata": {},
|
||
|
"outputs": [
|
||
|
{
|
||
|
"metadata": {},
|
||
|
"output_type": "display_data",
|
||
|
"png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAEBCAYAAACXArmGAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsnXeYVOX5sO8zve3szDZYlg6CoIiCigWMEhWISFDEGqP5\nqVGCEktiQTAIfvYSUVEkFhIEJRghSiy4ICQqAorSRcrStu/MTq9n3u+PYY4uW0F2Z2DP7TUX7ryn\nPOfMzPuc532aJIQQqKioqKioAJp0C6CioqKikjmoSkFFRUVFRUFVCioqKioqCqpSUFFRUVFRUJWC\nioqKioqCdtq0adPSLYTKsceqVat48cUXWbp0KcFgkBNPPBFJkupt53K5+Oqrr6isrKSgoACtVtvo\nMROJRJ1jBINB5s+fz+7du9HpdOTm5tbZfu/evbz99tuceOKJGAyGo3dxP5Hd7Xazfft2OnXqVGds\n586dfPvtt0SjUXJzc+td+65du0gkElgsFgCEECxbtoyePXsq2y5evJgXXniB5cuXo9Pp6NmzZ6Oy\nHHpv1q5dy4oVK6iqqqKgoKDO9UciEUpKSqisrCQYDGIwGNDr9Yd9/bFYjLVr17Jjxw6ys7Mxm83K\n2HvvvUdWVhZ2u73OPtFolFWrVtGjR4/DPp9KhiBUVI6ASy65RAwZMkRcf/31IicnR4wZM0YkEgll\nPBaLiRkzZgibzSbMZrOQJEk4HA7x0ksvNXi8srIy0atXL7F582blvbffflvo9XpRUFAgAHHJJZeI\n0tJSZfzhhx8WgMjJyRFTpkwRlZWVDR67qqpK3H777aJTp07CYrGICy64QOzatavRa/N6veIPf/iD\nkCRJACI3N1cZO3DggLj66quFJEnCarUKQPTt21esXbtW2SaRSIhevXqJW2+9VXnvk08+EYD43//+\np7x38skni+uuu05MmDBB5OTkiD//+c8NyvP888+LsWPH1nnvtNNOE7m5ucJoNIrs7Gzx6quvKmN3\n3HGHAOq8unTpInw+nyLfggULxKBBg4TJZBI9e/YUr7zySp3jL126VPTp00fodDphMBiEVqsVV199\ntQiHw0IIITp27CgGDx4sIpFInf02b94sdDqd8Hq9jd5flcxGVQoqR8QFF1wgXnjhBSFEcqJ0Op3i\no48+UsbvuOMO0bFjR7F48WKRSCREJBIRr7zyigDEzp076xwrkUiIMWPGCEDMnj1bef/f//636NKl\nixBCiG3btomLL75YnHnmmcrENH36dDFixAjxt7/9TfTp00dYrVbxzjvv1Dl2IBAQJ5xwgrj22mvF\nunXrxNatW8XixYuF2+1u8Lqi0ag4//zzRf/+/cUXX3whiouLRVFRkRBCCL/fL/r16yfOO+88sXXr\nViFEUuFcffXVYsCAAcoxtm3bJgDRv39/5b0pU6YIQDz11FPKe3379hWrVq0SQghRUlIiLBaL2LNn\nTx15vv32W6HX64XD4aijdM8991zx4osvinA4LObOnSuysrLEggULhBBChMNhUVlZKW655RZxzTXX\niNWrV4vi4mJl/yeffFJ07txZLFq0SOzYsUOsWLFCrFmzRjn2xx9/LPR6vZg2bZoIBoNClmWxZs0a\nUVhYKJ577jkhhBD9+vUTgJgyZUodeePxuLBYLGLp0qUN3l+VzEdVCipHxFlnnSXeeOMNIURyUu/T\np4/4xz/+IYRITmSSJIkvv/yy3n6DBw8Wzz77bJ33FixYILKyssSvfvUrcdtttynvL1u2TOTn5yt/\nRyIR0b9/f2VievTRR8WoUaOEEEnL5PnnnxcGg0G89tpryj5z584VVqtVyLLcouuaMWOG6NKli6io\nqFDeS02mjzzyiOjevbvw+/119jlw4IAAxI4dO4QQQrz11ltCkiSh0WhEIBAQQggxZMgQodfrxS23\n3KLs16VLF/HNN98IIZKTaXZ2ttiwYYMyHo/HxaBBg8TVV18tALF7925l7MILLxRPP/208ve7774r\nrFZrnSf36667rkHrw+FwiDlz5jR4/bIsi549e4r777+/wXtz3nnnKddz++23i+zsbLFy5co62/Xq\n1avR46tkPqqjWeWIqK2tRafTUVlZyeTJk6msrOTSSy8F4O2332bUqFGcddZZ9fYrKiqisrJS+dvn\n83H33Xfz6KOP8utf/5o1a9YoYzU1NXX8CJIkYbfb8Xg8AOh0OmRZVv5/0qRJPPHEE9x7770Eg0EA\nTj/9dACGDRvGnXfeyezZsykrK2vwmkKhEM899xzPP/88BQUFdc4LMH/+fO6//36sVmud/Tp27IhG\no1Gu65tvvuHCCy9Eq9Xy3XffUVVVxZo1a7j55pvZtm2bsp/X68VqtVJVVcVtt91Gz549Ofnkk5Xx\nlKyvvPIKPXv2bPLeZGdnEwqFiEajynuBQACTyVTvOn/xi1/wwAMPcNNNNzFjxgxWrlypjK1Zs4aK\nigruvffeevsVFRVRVVWl3O8BAwYwZ84crrnmGioqKpTtnE4n4XC4wXuskvmoSkHliPB4PFx//fV0\n6NCBxx9/nHHjxmGz2QBYvnw5559/foP77d+/n8LCQuXvxx9/nEQigRCCpUuXsmHDBkKhEADl5eXE\n43FmzZrF1KlTOfXUUykvL+fWW29V9heHVGm54447sFqtvP/++wD079+fzZs3c+2116LT6Xj55Zc5\n8cQT60ywKRYvXozNZmPMmDH1xioqKtiyZUuD11VWVkYikVCua/ny5QwfPpxTTz2V1atX8/7779O7\nd2+uvfZaNm3ahBCCRCKB1+ulX79+FBQUsHfvXhYtWqQoILfbzUMPPcTIkSN55plnCIVCdWQuLy/n\n66+/5plnnuHGG29k9OjRTJ06VfkMAOLxeIOO/YULFzJ79my6du3Kxo0bGTFiBBMnTlRkHzhwIE6n\ns95++/bto2PHjkBSKWi1WsaPH89VV13Fr3/9a0URG43GBoMOVI4NdOkWQOXYxOfz8dZbb9GzZ0/+\n97//8fzzz3P99dczf/58gsFgnckpRUlJCd9++y0LFiwA4JNPPuHxxx9HCMGsWbMYPHgwBoOB9evX\nc8455+D3+9m1a5cyYV133XXMmjVLiXiJRqP1noS1Wi35+fn4fD7lvW7duinHSCQSXHXVVTzxxBO8\n++67dfbdunUrZ555ZoMTaWrCa+i6lixZQt++fenevTtVVVWsX7+eF198kcrKSpYvX044HGb8+PEM\nGDBAiWYqKipCCMGWLVsoKioiKyurzjGvueYaampqWLRoEYMHD+bEE0/kq6++Usb9fj+zZs0ikUhg\ns9l47733GDlyZJ1jmM3mOpZDCoPBwOWXX87ll18OJCPJUtZDKBSqJwskle+SJUu4+uqrAZBlmUQi\nAcATTzzBRRddxHXXXcfChQsxGAxoNOrz5rGK+smpHBHRaJR+/fpx1lln8ac//YmpU6dSXFwMwAUX\nXMA///lPZWkHkpPKlClTGDJkCH369AHgs88+47TTTqO2tpatW7cyb948TjvtNL744gsgOXn98pe/\nZP369Vx66aUsWLCAGTNmEI/HgeREbTQa68i1Z88evv32W4YMGUI4HFYshhQajYaOHTvWszAAunbt\nyoYNG5TjCyGYPXs2f/vb3+jatSs9evTgnXfeqbOPy+Xi8ccf58YbbwSSE6zZbOb0009n+PDhLF++\nnOXLlzNu3Diys7Pp06cP//3vf4lEIgD06dOn3iTs8/lYvXo1r7/+OrW1taxYsYIZM2bw9ddfK/sZ\nDAYWL17Mq6++itls5vbbb+fLL7+scxyj0ahcS4pVq1bVWeoBlHDbRCLBBRdcwBdffMGePXvqbLNo\n0SI2b97MVVddBSQ//1gsBoBer2fx4sXs3r2b6667DkmS0OnU581jlrR5M1SOaQwGg5gxY4Z47LHH\nxIgRI4Rerxfz5s0TQgixZ88ekZ+fLy644AIxf/588f7774tf/vKXIjs7W2zZskUIIUQoFBIOh0O8\n9dZbdY770EMPiSFDhgghhHjx
|
||
|
"text": [
|
||
|
"<matplotlib.figure.Figure at 0x10bd0f610>"
|
||
|
]
|
||
|
}
|
||
|
],
|
||
|
"prompt_number": 6
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"collapsed": false,
|
||
|
"input": [],
|
||
|
"language": "python",
|
||
|
"metadata": {},
|
||
|
"outputs": []
|
||
|
}
|
||
|
],
|
||
|
"metadata": {}
|
||
|
}
|
||
|
]
|
||
|
}
|