[OSM] La fin du monde est pour 2012

26 avril 2012

Les Mayas avaient raison. La fin du monde sera pour la fin de l'année.

D'après les prévisions, le 2,147 milliardème-et-des-pouillèmes point sera créé dans OpenStreetMap à la fin de l'année. Sauf exceptions, en informatique, les valeurs sont stockées avec un nombre de bits alloués. Lorsqu'on traite des valeurs trop grandes, la quantité de bits alloués ne suffit plus et on se retrouve avec des bugs similaires au bug de l'an 2000 (on ne sait pas si "00" signifie "1900" ou "2000").

Avec 32 bits, signés, on peut compter jusqu'à 2^31-1 = 2.147.483.647. Ça correspond à nos 2,147 milliards de points. Passé ce stade, l'identification des points est ambigüe et des bugs apparaissent.

Rassurez-vous, les programmes les plus critiques utilisent déjà 64 bits non-signés, soit une dizaine de milliards de milliards de points, ce qui laisse de la marge. Mais si vous avez développé des scripts à la va-vite, il est temps de faire le ménage (au moins en utilisant des entiers non-signés).

0 commentaires: