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