pypot/pypot-master/samples/benchmarks/controller_sync.ipynb

132 lines
40 KiB
Plaintext
Raw Normal View History

2025-07-30 11:57:45 +08:00
{
"metadata": {
"name": "",
"signature": "sha256:09bf66c9635fdd5b044dc696fff5a395b17ddf045dfe10fdf837d88cee3fe276"
},
"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",
"dt = data['controller_rw_time']"
],
"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",
"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",
" x = array([mean(dt[b][p]) * 1000 for b, p in to_plot])\n",
" \n",
" i = arange(0, len(x), 2)\n",
" ax.bar(indices[i], x[i], width, color='r')\n",
" \n",
" i = arange(1, len(x), 2)\n",
" ax.bar(indices[i], x[i], width, color='g')\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 to read/write pos/speed/load (in ms)')\n",
" plt.title(\"BOARDS COMPARISON\")\n",
" savefig('controller.png')"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "display_data",
"png": "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\nwAMiKytLXH755XFP4sEHHxTd
"text": [
"<matplotlib.figure.Figure at 0x1164dcdd0>"
]
}
],
"prompt_number": 5
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": []
}
],
"metadata": {}
}
]
}