{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "8ae0ea81", "metadata": {}, "outputs": [], "source": [ "from json_ntv import Ntv, NtvSingle, NtvList\n", "from namespace import Namespace, Datatype\n", "from time import time\n", "\n", "def ntvobj(nb=1000, lis=True, jname='', jdefname=''):\n", " if jdefname and lis:\n", " return {jdefname: [{str(i) + jname : i} for i in range(nb)]}\n", " if jdefname and not lis:\n", " return {jdefname: {str(i) + jname : i for i in range(nb)}}\n", " if lis:\n", " return [{str(i) + jname : i} for i in range(nb)]\n", " return {str(i) + jname : i for i in range(nb)}\n", "\n", "def ntvl(nb=1000, json_array=True, jname='', deftyp=None, obj=None, fast=False, direct=False):\n", " t0 = time()\n", " if obj:\n", " ntv = Ntv.obj(obj)\n", " else:\n", " if jname and not direct:\n", " ntv = NtvList([Ntv.from_obj({str(i) + jname : i}, deftyp, fast=fast) for i in range(nb)], fast=fast)\n", " elif not direct:\n", " ntv = NtvList([Ntv.from_obj({str(i) : i}, deftyp, fast=fast) for i in range(nb)], fast=fast) \n", " else:\n", " ntv = NtvList([NtvSingle(i, str(i), deftyp, fast=fast) for i in range(nb)], fast=fast) \n", " t1 = time()\n", " js = ntv.to_obj(json_array=json_array)\n", " t2 = time()\n", " js = ntv.to_obj(json_array=json_array, fast=True)\n", " t3 = time()\n", " ntv = Ntv.obj(js, fast=fast)\n", " t4 = time()\n", " return (t1-t0, t2-t1, t3-t2, t4-t3)" ] }, { "cell_type": "code", "execution_count": 2, "id": "6c646e99", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'::int': {'0:int': 0, '1:int': 1, '2:int': 2}}\n", "{\"::int\": {\"0\": 0, \"1\": 1, \"2\": 2}}\n", "(0.0004980564117431641, 0.0, 0.0, 0.0)\n" ] } ], "source": [ "print(ntvobj(3, False, ':int', '::int'))\n", "print(Ntv.obj(ntvobj(3, False, ':int', '::int')))\n", "print(ntvl(obj=ntvobj(3, False, ':int', '::int')))" ] }, { "cell_type": "code", "execution_count": 3, "id": "469bb0bd", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(0.24645304679870605, 0.08812499046325684, 0.043315887451171875, 0.21857118606567383)\n", "(0.21857094764709473, 0.04530835151672363, 0.054268836975097656, 0.27981138229370117)\n", "(0.2230520248413086, 0.04929018020629883, 0.0672147274017334, 0.22006464004516602)\n", "(0.2768237590789795, 0.0443117618560791, 0.04729962348937988, 0.23052048683166504)\n", "(0.40129566192626953, 0.04132342338562012, 0.04132485389709473, 0.26786184310913086)\n", "(0.22006607055664062, 0.06771206855773926, 0.06074118614196777, 0.05078458786010742)\n", "(0.4595463275909424, 0.04232001304626465, 0.04182267189025879, 0.21707797050476074)\n", "(0.21956753730773926, 0.048792123794555664, 0.09633898735046387, 0.23051857948303223)\n", "(0.44510865211486816, 0.04281806945800781, 0.04132437705993652, 0.2160816192626953)\n", "(0.3306539058685303, 0.059746503829956055, 0.043813467025756836, 0.22006487846374512) \n", "\n", "(0.22653770446777344, 0.05576372146606445, 0.1010751724243164, 0.2579038143157959)\n", "(0.2459557056427002, 0.0711965560913086, 0.06820964813232422, 0.21807622909545898)\n", "(0.31615614891052246, 0.06273198127746582, 0.047300100326538086, 0.21906805038452148)\n", "(0.24794554710388184, 0.049788713455200195, 0.04879331588745117, 0.279313325881958)\n", "(0.44958996772766113, 0.07418584823608398, 0.047795772552490234, 0.21956801414489746)\n", "(0.30819034576416016, 0.05675864219665527, 0.04481005668640137, 0.05028700828552246)\n", "(0.43066978454589844, 0.048294782638549805, 0.04680132865905762, 0.2703511714935303)\n", "(0.22803068161010742, 0.04630303382873535, 0.04630446434020996, 0.22653603553771973)\n", "(0.41822242736816406, 0.1075441837310791, 0.05078315734863281, 0.21857213973999023)\n", "(0.2778201103210449, 0.05078387260437012, 0.05725669860839844, 0.2728390693664551) \n", "\n" ] } ], "source": [ "nb = 10000\n", "\n", "for cl in (True, False):\n", " if cl:\n", " print(ntvl(nb, cl))\n", " print(ntvl(obj=ntvobj(nb, cl)))\n", " else:\n", " print(ntvl(nb, cl, 'test'))\n", " print(ntvl(obj=ntvobj(nb, cl, 'test')))\n", " print(ntvl(nb, cl, ':int'))\n", " print(ntvl(obj=ntvobj(nb, cl, ':int')))\n", " print(ntvl(nb, cl, ':int', 'int'))\n", " print(ntvl(obj=ntvobj(nb, cl, ':int', '::int')))\n", " print(ntvl(nb, cl, ':int', 'json'))\n", " print(ntvl(obj=ntvobj(nb, cl, ':int', '::json')))\n", " print(ntvl(nb, cl, ':int', 'point'))\n", " print(ntvl(obj=ntvobj(nb, cl, ':int', '::point')), '\\n')\n", "#print(Datatype.types())" ] }, { "cell_type": "code", "execution_count": 4, "id": "f377e4ff", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(0.06970024108886719, 0.04082655906677246, 0.038336992263793945, 0.05028557777404785)\n", "(0.26238512992858887, 0.11003255844116211, 0.06223416328430176, 0.04779624938964844)\n", "(0.23699522018432617, 0.05974578857421875, 0.046800851821899414, 0.265871524810791)\n", "(0.26686525344848633, 0.0443117618560791, 0.06671738624572754, 0.20861268043518066)\n", "(0.4152340888977051, 0.10106992721557617, 0.042818546295166016, 0.21010661125183105)\n", "(0.22056293487548828, 0.04779672622680664, 0.06074237823486328, 0.0963890552520752)\n", "(0.42270517349243164, 0.042816162109375, 0.04232144355773926, 0.2081143856048584)\n", "(0.29773569107055664, 0.07020020484924316, 0.0443117618560791, 0.23350787162780762)\n", "(0.46801018714904785, 0.04281926155090332, 0.04182291030883789, 0.25690746307373047)\n", "(0.24794650077819824, 0.07070040702819824, 0.0443110466003418, 0.21110296249389648) \n", "\n", "(0.12795615196228027, 0.04580545425415039, 0.04381370544433594, 0.07617640495300293)\n", "(0.2374894618988037, 0.04530620574951172, 0.0458064079284668, 0.1274583339691162)\n", "(0.23450350761413574, 0.0736846923828125, 0.047798871994018555, 0.21060514450073242)\n", "(0.3410499095916748, 0.057753801345825195, 0.05725860595703125, 0.30569934844970703)\n", "(0.4336576461791992, 0.05277442932128906, 0.06920719146728516, 0.26686644554138184)\n", "(0.24695181846618652, 0.049787282943725586, 0.04232001304626465, 0.04281806945800781)\n", "(0.4162328243255615, 0.1100306510925293, 0.048294782638549805, 0.21010708808898926)\n", "(0.22205567359924316, 0.0482945442199707, 0.0632314682006836, 0.2972383499145508)\n", "(0.4341554641723633, 0.04928922653198242, 0.047797441482543945, 0.21010756492614746)\n", "(0.22404718399047852, 0.12845349311828613, 0.06174111366271973, 0.22304916381835938) \n", "\n" ] } ], "source": [ "nb = 10000\n", "fast=True\n", "\n", "for cl in (True, False):\n", " if cl:\n", " print(ntvl(nb, cl, fast=fast))\n", " print(ntvl(obj=ntvobj(nb, cl), fast=fast))\n", " else:\n", " print(ntvl(nb, cl, 'test', fast=fast))\n", " print(ntvl(obj=ntvobj(nb, cl, 'test'), fast=fast))\n", " print(ntvl(nb, cl, ':int', fast=fast))\n", " print(ntvl(obj=ntvobj(nb, cl, ':int'), fast=fast))\n", " print(ntvl(nb, cl, ':int', 'int', fast=fast))\n", " print(ntvl(obj=ntvobj(nb, cl, ':int', '::int'), fast=fast))\n", " print(ntvl(nb, cl, ':int', 'json', fast=fast))\n", " print(ntvl(obj=ntvobj(nb, cl, ':int', '::json'), fast=fast))\n", " print(ntvl(nb, cl, ':int', 'point', fast=fast))\n", " print(ntvl(obj=ntvobj(nb, cl, ':int', '::point'), fast=fast), '\\n')\n", "#print(Datatype.types())" ] }, { "cell_type": "code", "execution_count": 5, "id": "64adf930", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(0.02041339874267578, 0.04530763626098633, 0.055264949798583984, 0.06821012496948242)\n", "(0.28130483627319336, 0.04580497741699219, 0.04381418228149414, 0.047299861907958984)\n", "(0.01991415023803711, 0.09210824966430664, 0.03833889961242676, 0.04779505729675293)\n", "(0.26537275314331055, 0.0428166389465332, 0.04232025146484375, 0.26238512992858887)\n", "(0.18222475051879883, 0.043314456939697266, 0.04929041862487793, 0.25292515754699707)\n", "(0.30171895027160645, 0.07468175888061523, 0.04978823661804199, 0.04331660270690918)\n", "(0.18222641944885254, 0.04480767250061035, 0.07219433784484863, 0.10306096076965332)\n", "(0.22354793548583984, 0.048295021057128906, 0.06273341178894043, 0.22603940963745117)\n", "(0.2459557056427002, 0.06472373008728027, 0.08563780784606934, 0.2135930061340332)\n", "(0.24695038795471191, 0.07816648483276367, 0.11551022529602051, 0.30669569969177246) \n", "\n", "(0.029871702194213867, 0.061737775802612305, 0.059746503829956055, 0.0751800537109375)\n", "(0.34204888343811035, 0.04481196403503418, 0.04431009292602539, 0.07169437408447266)\n", "(0.040825605392456055, 0.04978823661804199, 0.04481077194213867, 0.11451172828674316)\n", "(0.2932546138763428, 0.04935121536254883, 0.04978752136230469, 0.23500394821166992)\n", "(0.2874946594238281, 0.06273460388183594, 0.07717084884643555, 0.20911145210266113)\n", "(0.2215585708618164, 0.08364462852478027, 0.07318878173828125, 0.12397170066833496)\n", "(0.2071220874786377, 0.0522763729095459, 0.05227780342102051, 0.05028653144836426)\n", "(0.22404766082763672, 0.1194922924041748, 0.08115649223327637, 0.2135910987854004)\n", "(0.20761775970458984, 0.05277609825134277, 0.06870889663696289, 0.23151350021362305)\n", "(0.28180360794067383, 0.04630327224731445, 0.07219338417053223, 0.23052072525024414) \n", "\n" ] } ], "source": [ "nb = 10000\n", "fast=True # fast ntvtype à voir\n", "direct=True\n", "\n", "for cl in (True, False):\n", " if cl:\n", " print(ntvl(nb, cl, fast=fast, direct=direct)) # + rapide\n", " print(ntvl(obj=ntvobj(nb, cl), fast=fast, direct=direct))\n", " else:\n", " print(ntvl(nb, cl, 'test', fast=fast, direct=direct)) # 2e + rapide\n", " print(ntvl(obj=ntvobj(nb, cl, 'test'), fast=fast, direct=direct))\n", " print(ntvl(nb, cl, ':int', fast=fast, direct=direct))\n", " print(ntvl(obj=ntvobj(nb, cl, ':int'), fast=fast, direct=direct))\n", " print(ntvl(nb, cl, ':int', 'int', fast=fast, direct=direct))\n", " print(ntvl(obj=ntvobj(nb, cl, ':int', '::int'), fast=fast, direct=direct))\n", " print(ntvl(nb, cl, ':int', 'json', fast=fast, direct=direct))\n", " print(ntvl(obj=ntvobj(nb, cl, ':int', '::json'), fast=fast, direct=direct))\n", " print(ntvl(nb, cl, ':int', 'point', fast=fast, direct=direct))\n", " print(ntvl(obj=ntvobj(nb, cl, ':int', '::point'), fast=fast, direct=direct), '\\n')\n", "#print(Datatype.types())" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.9" } }, "nbformat": 4, "nbformat_minor": 5 }