1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
#!/usr/bin/env python
# -*- coding: iso-8859-1 -*-
import timeit
import sqlite3
class Point():
""" Definition d'un objet Point"""
def __init__(self,Id):
self.Id=Id
self.X=0
self.Y=0
self.Z=0
if __name__ == '__main__':
#----------Avec un Dico
Dico={} # Création d'un dictionnaire
for i in range(124000):
Dico[i]=Point(i) # Juste après la création, je range l'objet dans un Dictionnaire
# pour retrouver l'objetpar son Id, j'utilise les cles du dictionnaire
t=timeit.Timer('''extraction_valeur=Dico[1234].X ''','''from __main__ import Dico''').timeit()
print "Dico",t
#----------Avec une liste
lst=[] # Création d'une liste
for i in range(124000):
lst.append(Point(i)) # Juste après la création, je range l'objet dans une liste
# pour retrouver l'objetpar son Id, j'utilise les cles du dictionnaire
t=timeit.Timer('''extraction_valeur=lst[1234].X ''','''from __main__ import lst''').timeit()
print "Liste",t
#----------Avec une base SQLITE
connection = sqlite3.connect(':memory:') #Création d'un objet connection à la BDD, connection ou création si pas d'existence
cursor = connection.cursor() #Création de l'objet curseur
# Création de la table
cursor.execute("CREATE TABLE Points (id INTEGER PRIMARY KEY,X INTEGER,Y INTEGER,Z INTEGER)")
for i in range(124000):
cursor.execute("insert into Points (id,X,Y,Z) values (?, ?,?,?)", (i,0,0,0))
t=timeit.Timer('''cursor.execute('SELECT * FROM Points where ID=5') ''','''from __main__ import cursor''').timeit()
print "BDD en mémoire",t |
Partager