Skip to content

Instantly share code, notes, and snippets.

@ChrisBeaumont
Created August 12, 2014 18:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ChrisBeaumont/40977a3279115f4c76c0 to your computer and use it in GitHub Desktop.
Save ChrisBeaumont/40977a3279115f4c76c0 to your computer and use it in GitHub Desktop.
scidb_transfer
Display the source blob
Display the rendered blob
Raw
{
"metadata": {
"name": "",
"signature": "sha256:6b1f92107abd59f06a20447a6fbf11a8c12b0429150bb64b43fe718e842be275"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "code",
"collapsed": false,
"input": [
"from time import time\n",
"\n",
"import numpy as np\n",
"from scidbpy import connect\n",
"%matplotlib inline\n",
"\n",
"import matplotlib.pyplot as plt\n",
"plt.rcParams['figure.figsize'] = (8, 8)\n",
"plt.rcParams['figure.dpi'] = 500\n",
"plt.rcParams['font.size'] = 14"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 20
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"sdb = connect()"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 3
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"def profile(n):\n",
" x = sdb.random(n)\n",
" t0 = time()\n",
" y = x.toarray()\n",
" return time() - t0"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 5
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"x = np.array([10**3, 10**4, 10**5, 10**6, 10**7])\n",
"y = [profile(sz) for sz in x]"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 22
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"plt.plot(x, x / np.array(y), 'ko-')\n",
"plt.xscale('log')\n",
"plt.yscale('log')\n",
"plt.xlabel('Array size')\n",
"plt.ylabel('Transfer / (elements/sec)')"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 23,
"text": [
"<matplotlib.text.Text at 0x10e18b790>"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\nraspU6aocOHCV3wYRkdHa/DgwRo5cqQSExPVtGlThYWF6dixY5KksWPH6ujRo0pOTtaECRP0zDPP\naOTIkXnK4In27t2riIgIrVy50u2jMwAAOOJUSWjevLnWr18vSXr88cf18ssvq1+/furRo0fOCIOz\nwsLCNGbMGHXp0kUBAVceftKkSerXr5/69++ve+65R5GRkSpXrpxmzpzpcH++8C/uywsmTZ8+nQWT\nAAAew6m7G6ZPn6709HRJ0muvvaaCBQsqISFBjz/+uKH/is/IyNCePXsUERGRa3vr1q21bdu2K97f\np08fw45tluzsbPXq1UudOnVS9+7dzY4DAECO65aEzMxMLVmyRJ06dZIkFShQQMOHD9fw4cMND3Pq\n1CllZWWpTJkyubaXLl1aKSkp+d6v1WrN+e+QkJBcK0ia7e2339aff/6pcePGmR0FAOCFbDabbDab\nS/Z93ZJQsGBBDR06VO3atXNJAHf4Z0nwJLGxsZo1a5Z27drFgkkAgHz59z9+R48ebdi+nZqT0KRJ\nE+3evduwg17N7bffrgIFCujkyZO5tp88eVLlypVz+fHd6fDhw+rbt68WL17sc98bAMA3ODUn4dln\nn9WQIUN05MgRBQUFqWjRorleb9iwoSFhAgMD1ahRI61bt05dunTJ2b5+/Xp169bNkGN4gssLJkVE\nRLBgEgDAY12zJDz11FOaPHmynnzySUnSkCFDrniPxWJRVlaW0wc8d+6ckpKSJP09ae/IkSNKTEzU\nbbfdpooVK+rVV19VeHi4GjdurKZNm2rWrFlKSUnRgAED8vJ9ebSXX35ZVapU0SuvvGJ2FAAAruqa\nT4EMCAhQSkqKzp8/f82dVK5c2ekD2mw2PfTQQ38f/B9Pqurbt6+ioqIkSTNnztS4ceN04sQJ1alT\nR++//76aN2/u9DH+ydOeAhkVFaXx48drx44drIcAADCc2x4VfbkklC5d2pCDmcFisWjUqFEecVfD\nnj171KZNG8XHx5vyzAsAgO+6fJfD6NGjKQnO8pSRhN9//11BQUF69913WQ8BAOAybh1JcCZMXuYk\nuJsnlITs7Gx16NBB99xzjyZNmmRqFgCAbzPyc++6dzd89NFHKlGihCEH81djxozRn3/+qffee8/s\nKAAAOI3LDS4WGxur/v37a9euXayHAABwObeOJCD/Dh8+rD59+mj58uUUBACA13FqxUXk3eUFk4YP\n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\nd38beWL0D1x+95eX33e99+b39bxu9wRGZvOEc3e99+TnNU89f774s3e99+T1NU89d5L3nb8bPXfX\net2snz23l4SwsDCNGTNGXbp0UUDAlYefNGmS+vXrp/79++uee+5RZGSkypUrp5kzZ0qSDh8+rAce\neED169dXSEiIhg4dqho1arj728gTb/uD7sx7ve0P+o2gJFz/NU89f774s3e991ASjN+fP5cE2U1U\nrFgx+7x583J+ffHiRXvBggXty5cvz/W+F1980d6yZct8HaNatWp2SXzxxRdffPHlF1/VqlW7kY/m\nXArKg5w6dUpZWVkqU6ZMru2lS5dWSkpKvvbJpEYAAPLHK+9uAAAArudRJeH2229XgQIFdPLkyVzb\nT548qXLlypmUCgAA/+RRJSEwMFCNGjXSunXrcm1fv369mjZtalIqAAD8k9vnJJw7d05JSUmS/n4O\nw5EjR5SYmKjbbrtNFStW1Kuvvqrw8HA1btxYTZs21axZs5SSkqIBAwa4OyoAAH7N7Q94stlseuih\nh/4++D8eQtG3b19FRUVJkmbOnKlx48bpxIkTqlOnjt5//301b97csAxpaWl65JFHlJmZqYyMDD3/\n/PN66aWXDNs/XO/8+fO699571b17d40fP97sOMiDypUrq0SJEgoICFCpUqUUFxdndiTkQXJysp56\n6imlpqaqQIEC+vrrr1WkSBGzY+E6Dh48qB49euT69ZIlS9SxY8dr/j6vewqkEfL6JEl4njfeeEOH\nDh3SXXfdpXHjxpkdB3lQpUoVHThwgA8WL9WyZUuNHTtWzZo1U1pamooXL64CBQqYHQt5cO7cOVWu\nXFlHjx5V4cKFr/lej5qT4C48SdK7JSUl6eDBgwoLC+Mx4F6K8+adDhw4oMDAQDVr1kySVLJkSQqC\nF1q1apVatWp13YIg+WlJkHiSpDcbNmyY3n33XbNjIJ8sFotatGihxo0ba9GiRWbHQR4kJSWpWLFi\n6tixoxo1aqR33nnH7EjIh6VLl+rxxx936r0etZiSO11+kmRqaqoefPBBtW7dWtWrVzc7Fq5j1apV\nqlGjhqpXr37VB3/Bs23dulXlypVTSkqKWrVqpTp16qhOnTpmx4ITMjMztWXLFu3bt0933HGHQkND\nFRwcrFatWpkdDU76888/9dVXX2np0qVOvd8rRxJ4kqT3utFzt337di1ZskRVqlTRsGHD9NFHH2nM\n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\n",
"text": [
"<matplotlib.figure.Figure at 0x109f8d990>"
]
}
],
"prompt_number": 23
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": []
}
],
"metadata": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment