10:46 <carxwol:#afpy> plop
10:47 <ogrisel:#afpy> matin
15:51 <gawel> hey ogrisel. bien les vacances ?
15:51 <ogrisel> oué cool
15:51 <ogrisel> mais c'est fini
15:51 <gawel> dur
15:52 <ogrisel> oué
15:52 <ogrisel> chuis un pro du velib
15:52 <ogrisel> c'est dingue comme tu redecouvre ton arrondissement qd tu cherches des stations :)
15:54 <ccomb> 'lut
15:54 <ccomb> alors t'as eu le temps de digérer tes bouquins ?
15:54 <ogrisel> pas fini
15:54 <ogrisel> il m'en reste un paquet
15:55 <ogrisel> et evidemment j'en ai acheté d'autre
15:55 <ogrisel> s
15:55 <ccomb> =-O
15:56 <ccomb> bon je vais faire un truc rare ici
15:56 <ccomb> poser une question sur python :)
15:56 <ccomb> j'ai un gros BTree, dont les clés sont des dates
15:57 <ccomb> tout à coup une nouvelle date m'arrive de nulle part
15:57 <ccomb> comment je trouve la clé la plus proche parmi celles du btree ?
15:57 <gawel> C'est pas du python ca ! Je suis décu
15:58 <gawel> Avec un sort puis en parcourant ?
15:58 <ccomb> je voudrais éviter ça
15:59 <melmoth> tu devrais pouvoir te promener dans l arbre par dichotomie jusqu a etre la ou il faut ?
15:59 <gawel> T'as pas super le choix hélas a mon avis
15:59 <gawel> non, les clés sont pas trié
15:59 <melmoth> ben si, c ets un btree, tu sais au moins si tu dois aller a gauche, ou a droite
15:59 <melmoth> jusqu au moment ou tu dois faire marche arrierre. c ets la ou tu dois t incruster.. non ?
16:00 <gawel> ca marche comme les dictionnaire. y a pas de notions de position
16:00 <ccomb> c'est un btree, mais je le vois comme un simple mapping avec quelques méthodes spécifiques
16:00 <gawel> j'ai jamais compris ce qui definnissait l'ordre des clés d'un dictionnaire d'ailleurs
16:01 <ccomb> le hasard ? :)
16:01 <gawel> je sais pas
16:02 <melmoth> ccomb implememente un vrai btree , tu n auras plus ce probleme :)
16:02 <gawel> y a vraiment beaucoup d'objets dedans ?
16:02 <ccomb> un bon million
16:02 <gawel> quand meme ouais
16:02 <ccomb> bon, alors je vais parcourir en partant de la fin
16:03 <gawel> t'aurais du utiliser un bforest 8)
16:03 <ccomb> avec reversed(btree.iterkeys()) c'est là où c'est le plus proche
16:03 <ccomb> ou plutôt un Dforest, c'est à la mode en ce moment :-D
16:03 <ogrisel> c'est pas super efficace ca
16:04 <ccomb> quoi, le reversed ?
16:04 <ogrisel> mais je sais pas si l'API des BTree est suffisamment riche pour permettre un parcours par dichotomie
16:04 <ccomb> j'ai pas l'impression
16:04 <gawel> http://svn.zope.org/zope.bforest/
16:04 <ogrisel> oui le reversed(iterkeys) il va mettre tout en memoire avant de commencer le parcours
16:05 <ogrisel> tu devrais demander sur la liste ZODB
16:05 <ogrisel> ou une liste zope
16:05 <ccomb> houla
16:10 <ccomb> d'ailleurs là il y a peut-être une différence entre un OOBTree ou un IOBTree
16:13 <ogrisel> IOBTree, les clefs sont des integers
16:13 <ogrisel> et les values des objets
16:13 <ogrisel> OOBTree les clefs et les valeurs sont des objets arbitraires
16:13 <ccomb> c'est ce que j'utilise pour l'instant
16:13 <ogrisel> les IOBTree sont souvent plus efficaces
16:14 <ccomb> et une date doit pouvoir se transformer en entier
16:16 <ogrisel> oui en date unix
16:16 <ogrisel> en secondes depuis le 1 janvier 1970
16:16 <ogrisel> en temps universel
16:29 <ccomb> ah sinon j'ai trouvé un système de stockage qui permet de faire des calculs et requêtes ultrarapides sur des bases de 10 à 100 millions d'éléments
16:29 <ccomb> c'est utilisé par un projet d'épidemio en australie
16:30 <ccomb> ca va plus vite qu'une base sql pour les besoins qu'ils en ont
16:30 <ccomb> set operations on ordinal mappings (SOOM)
16:30 <ccomb> qqu'un connait ça ?
16:32 <ogrisel> non
16:33 <ccomb> j'ai fait marcher une démo sur une base médicale de 2 millions, ça m'a vraiment impressionné
16:34 <ogrisel> 2 millions de quoi ?
16:34 <ogrisel> dans CPS on avait 2millions de docs en ZODB et ca marchait tres bien
16:34 <ogrisel> avec des indexes lucene :)
16:35 <ccomb> des données d'interventions médicales
16:36 <ccomb> http://www.ncbi.nlm.nih.gov/sites/entrez?cmd=Retrieve&db=PubMed&list_uids=12725961&dopt=Abstract
16:38 <ccomb> ça te sort un résumé statistique de toute la base en 1 seconde
16:38 <ccomb> (et c'est du python)
18:58 <amine> salut tt le monde
19:05 <ogrisel> matin
19:06 <ogrisel> a zut trop tard
19:07 <gawel> tu veux dire que parfois c'est plus le matin ?
19:49 <ogrisel> :)