{ "metadata": { "name": "", "signature": "sha256:b7be93862704b5aa1586a45cad8aee84067740b29c3983dbd88650ce5eaa4525" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "code", "collapsed": false, "input": [ "from node.models import Node, NodeType, Nodec\n", "from django.contrib.auth.models import User\n", "import datetime" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 1 }, { "cell_type": "code", "collapsed": false, "input": [ ">> root = Category.objects.create(name = 'root')\n", ">>> middle = Category.objects.create(name = 'middle', parent = root)\n", ">>> bottom = Category.objects.create(name = 'bottom', parent = middle)\n", ">>> print(Category.objects.all())\n", "[, , ]" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "code", "collapsed": false, "input": [ "#number_userIndex = 100\n", "#number_projectIndex = 50\n", "#number_documentIndex = 10000\n", "number_userIndex = 3\n", "number_projectIndex = 10\n", "number_documentIndex = 10000" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 2 }, { "cell_type": "code", "collapsed": false, "input": [ "NodeType.objects.all().delete()\n", "nodeTypeRoot = NodeType(name=\"Root\")\n", "nodeTypeRoot.save()\n", "nodeTypeProject = NodeType(name=\"Project\")\n", "nodeTypeProject.save()\n", "nodeTypeDocument = NodeType(name=\"Document\")\n", "nodeTypeDocument.save()" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 3 }, { "cell_type": "markdown", "metadata": {}, "source": [ "# TEST with Nodec" ] }, { "cell_type": "code", "collapsed": false, "input": [ "t0 = datetime.datetime.now()\n", "with transaction.atomic():\n", " for userIndex in range(number_userIndex):\n", " userName = 'User #%d' % (userIndex, )\n", " user = User(username=userName)\n", " user.save()\n", " rootNode = Nodec.objects.create(name=userName, type_id=nodeTypeRoot.pk, user_id=user.id)\n", " \n", " print(userName)\n", " for projectIndex in range(number_projectIndex):\n", " projectName = 'Project #%d-%d' % (userIndex, projectIndex, )\n", " projectNode = Nodec.objects.create(parent=rootNode,\\\n", " name=projectName,\\\n", " type_id=nodeTypeProject.pk,\\\n", " user_id=user.id)\n", " for documentIndex in range(number_documentIndex):\n", " childNode = Nodec.objects.create(parent=projectNode,\\\n", " name='Document #%d-%d-%d' % (userIndex, projectIndex, documentIndex, ),\\\n", " type_id=nodeTypeDocument.pk,\\\n", " user_id=user.id,)\n", " print(datetime.datetime.now() - t0)\n", "\n", "t1 = datetime.datetime.now()\n", "t1 - t0" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "User #0\n", "0:00:04.876625" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\n", "0:00:09.105502" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\n", "0:00:13.394106" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\n", "0:00:17.591753" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\n", "0:00:21.916662" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\n", "0:00:26.139418" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\n", "0:00:30.345642" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\n", "0:00:34.632326" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\n", "0:00:38.840757" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\n", "0:00:43.648369" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\n", "User #1\n", "0:00:47.863172" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\n", "0:00:52.068084" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\n", "0:00:56.305962" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\n", "0:01:00.525607" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\n", "0:01:04.734160" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\n", "0:01:08.959041" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\n", "0:01:13.181594" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\n", "0:01:17.415490" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\n", "0:01:21.637547" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\n", "0:01:25.866006" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\n", "User #2\n", "0:01:30.102548" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\n", "0:01:34.326889" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\n", "0:01:38.580551" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\n", "0:01:42.829306" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\n", "0:01:47.075624" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\n", "0:01:51.339064" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\n", "0:01:55.574907" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\n", "0:02:00.053687" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\n", "0:02:04.305121" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\n", "0:02:08.548923" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\n" ] }, { "metadata": {}, "output_type": "pyout", "prompt_number": 5, "text": [ "datetime.timedelta(0, 133, 479956)" ] } ], "prompt_number": 5 }, { "cell_type": "markdown", "metadata": {}, "source": [ "# TEST with Node " ] }, { "cell_type": "code", "collapsed": false, "input": [ "t0 = datetime.datetime.now()\n", "with transaction.atomic():\n", " for userIndex in range(number_userIndex):\n", " userName = 'User #%d' % (userIndex, )\n", " user = User(username=userName)\n", " user.save()\n", " rootNode = Node.add_root(name=userName, type_id=nodeTypeRoot.pk, user_id=user.id)\n", " \n", " print(userName)\n", " for projectIndex in range(number_projectIndex):\n", " projectName = 'Project #%d-%d' % (userIndex, projectIndex, )\n", " projectNode = Node(name=projectName, type_id=nodeTypeProject.pk, user_id=user.id)\n", " rootNode.add_child(instance=projectNode)\n", " documents = [\n", " {\"data\": {\"name\":'Document #%d-%d-%d' % (userIndex, projectIndex, documentIndex, ), \"type_id\":nodeTypeDocument.pk, \"user_id\":user.id}}\n", " for documentIndex in range(number_documentIndex)\n", " ]\n", " Node.load_bulk(documents, projectNode)\n", " print(datetime.datetime.now() - t0)\n", "\n", "t1 = datetime.datetime.now()\n", "t1 - t0" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "User #0\n", "0:01:27.925833" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\n" ] }, { "ename": "KeyboardInterrupt", "evalue": "", "output_type": "pyerr", "traceback": [ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[1;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)", "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[0;32m 16\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mdocumentIndex\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mnumber_documentIndex\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 17\u001b[0m ]\n\u001b[1;32m---> 18\u001b[1;33m \u001b[0mNode\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mload_bulk\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mdocuments\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mprojectNode\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 19\u001b[0m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mdatetime\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdatetime\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mnow\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m-\u001b[0m \u001b[0mt0\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 20\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;32m/home/alexandre/projets/gargantext.py/env/lib/python3.4/site-packages/treebeard/models.py\u001b[0m in \u001b[0;36mload_bulk\u001b[1;34m(cls, bulk_data, parent, keep_ids)\u001b[0m\n\u001b[0;32m 113\u001b[0m \u001b[0mnode_data\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'id'\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mnode_struct\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'id'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 114\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mparent\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 115\u001b[1;33m \u001b[0mnode_obj\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mparent\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0madd_child\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m**\u001b[0m\u001b[0mnode_data\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 116\u001b[0m \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 117\u001b[0m \u001b[0mnode_obj\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mcls\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0madd_root\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m**\u001b[0m\u001b[0mnode_data\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;32m/home/alexandre/projets/gargantext.py/env/lib/python3.4/site-packages/treebeard/mp_tree.py\u001b[0m in \u001b[0;36madd_child\u001b[1;34m(self, **kwargs)\u001b[0m\n\u001b[0;32m 969\u001b[0m \u001b[1;33m:\u001b[0m\u001b[1;32mraise\u001b[0m \u001b[0mPathOverflow\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0mwhen\u001b[0m \u001b[0mno\u001b[0m \u001b[0mmore\u001b[0m \u001b[0mchild\u001b[0m \u001b[0mnodes\u001b[0m \u001b[0mcan\u001b[0m \u001b[0mbe\u001b[0m \u001b[0madded\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 970\u001b[0m \"\"\"\n\u001b[1;32m--> 971\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mMP_AddChildHandler\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mprocess\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 972\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 973\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0madd_sibling\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mpos\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mNone\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;32m/home/alexandre/projets/gargantext.py/env/lib/python3.4/site-packages/treebeard/mp_tree.py\u001b[0m in \u001b[0;36mprocess\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m 359\u001b[0m \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 360\u001b[0m \u001b[1;31m# adding the new child as the last one\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 361\u001b[1;33m \u001b[0mnewobj\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mpath\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mnode\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mget_last_child\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_inc_path\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 362\u001b[0m \u001b[1;31m# saving the instance before returning it\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 363\u001b[0m \u001b[0mnewobj\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msave\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;32m/home/alexandre/projets/gargantext.py/env/lib/python3.4/site-packages/treebeard/models.py\u001b[0m in \u001b[0;36mget_last_child\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m 276\u001b[0m \"\"\"\n\u001b[0;32m 277\u001b[0m \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 278\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mget_children\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mreverse\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 279\u001b[0m \u001b[1;32mexcept\u001b[0m \u001b[0mIndexError\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 280\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;32m/home/alexandre/projets/gargantext.py/env/lib/python3.4/site-packages/django/db/models/query.py\u001b[0m in \u001b[0;36m__getitem__\u001b[1;34m(self, k)\u001b[0m\n\u001b[0;32m 130\u001b[0m \u001b[0mqs\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_clone\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 131\u001b[0m \u001b[0mqs\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mquery\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mset_limits\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mk\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mk\u001b[0m \u001b[1;33m+\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 132\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mlist\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mqs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 133\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 134\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0m__and__\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mother\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;32m/home/alexandre/projets/gargantext.py/env/lib/python3.4/site-packages/django/db/models/query.py\u001b[0m in \u001b[0;36m__iter__\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m 94\u001b[0m \u001b[1;33m-\u001b[0m \u001b[0mResponsible\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mturning\u001b[0m \u001b[0mthe\u001b[0m \u001b[0mrows\u001b[0m \u001b[0minto\u001b[0m \u001b[0mmodel\u001b[0m \u001b[0mobjects\u001b[0m\u001b[1;33m.\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 95\u001b[0m \"\"\"\n\u001b[1;32m---> 96\u001b[1;33m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_fetch_all\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 97\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0miter\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_result_cache\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 98\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;32m/home/alexandre/projets/gargantext.py/env/lib/python3.4/site-packages/django/db/models/query.py\u001b[0m in \u001b[0;36m_fetch_all\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m 855\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0m_fetch_all\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 856\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_result_cache\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 857\u001b[1;33m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_result_cache\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mlist\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0miterator\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 858\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_prefetch_related_lookups\u001b[0m \u001b[1;32mand\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_prefetch_done\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 859\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_prefetch_related_objects\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;32m/home/alexandre/projets/gargantext.py/env/lib/python3.4/site-packages/django/db/models/query.py\u001b[0m in \u001b[0;36miterator\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m 218\u001b[0m klass_info = get_klass_info(model, max_depth=max_depth,\n\u001b[0;32m 219\u001b[0m requested=requested, only_load=only_load)\n\u001b[1;32m--> 220\u001b[1;33m \u001b[1;32mfor\u001b[0m \u001b[0mrow\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mcompiler\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mresults_iter\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 221\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mfill_cache\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 222\u001b[0m obj, _ = get_cached_row(row, index_start, db, klass_info,\n", "\u001b[1;32m/home/alexandre/projets/gargantext.py/env/lib/python3.4/site-packages/django/db/models/sql/compiler.py\u001b[0m in \u001b[0;36mresults_iter\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m 711\u001b[0m \u001b[0mfields\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 712\u001b[0m \u001b[0mhas_aggregate_select\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mbool\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mquery\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0maggregate_select\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 713\u001b[1;33m \u001b[1;32mfor\u001b[0m \u001b[0mrows\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mexecute_sql\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mMULTI\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 714\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mrow\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mrows\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 715\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mhas_aggregate_select\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;32m/home/alexandre/projets/gargantext.py/env/lib/python3.4/site-packages/django/db/models/sql/compiler.py\u001b[0m in \u001b[0;36mexecute_sql\u001b[1;34m(self, result_type)\u001b[0m\n\u001b[0;32m 784\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 785\u001b[0m \u001b[0mcursor\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mconnection\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcursor\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 786\u001b[1;33m \u001b[0mcursor\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mexecute\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0msql\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mparams\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 787\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 788\u001b[0m \u001b[1;32mif\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[0mresult_type\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;32m/home/alexandre/projets/gargantext.py/env/lib/python3.4/site-packages/django/db/backends/util.py\u001b[0m in \u001b[0;36mexecute\u001b[1;34m(self, sql, params)\u001b[0m\n\u001b[0;32m 67\u001b[0m \u001b[0mstart\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mtime\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 68\u001b[0m \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 69\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0msuper\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mCursorDebugWrapper\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mexecute\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0msql\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mparams\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 70\u001b[0m \u001b[1;32mfinally\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 71\u001b[0m \u001b[0mstop\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mtime\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;32m/home/alexandre/projets/gargantext.py/env/lib/python3.4/site-packages/django/db/backends/util.py\u001b[0m in \u001b[0;36mexecute\u001b[1;34m(self, sql, params)\u001b[0m\n\u001b[0;32m 51\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcursor\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mexecute\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0msql\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 52\u001b[0m \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 53\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcursor\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mexecute\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0msql\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mparams\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 54\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 55\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0mexecutemany\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0msql\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mparam_list\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;32m\u001b[0m in \u001b[0;36m__new__\u001b[1;34m(_cls, name, type_code, display_size, internal_size, precision, scale, null_ok)\u001b[0m\n", "\u001b[1;31mKeyboardInterrupt\u001b[0m: " ] } ], "prompt_number": 4 }, { "cell_type": "code", "collapsed": false, "input": [ "print(t1-t0)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "0:07:14.618664\n" ] } ], "prompt_number": 6 }, { "cell_type": "code", "collapsed": false, "input": [ "for node in Node.objects.all():\n", " print(node.name)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 37 }, { "cell_type": "markdown", "metadata": {}, "source": [] } ], "metadata": {} } ] }