пятница, 4 января 2008 г.

2147483647 - много это или мало?

Оказывается число фотографий во Flickr перевалило за 2147483647 (в этом месте многие думаю все уже поняли, но я продолжу).
Оказывается, каждая фотография во Flickr имеет свой ID.
Оказывается, ID фотографий определяется просто - если на Flickr было 1000 фотографий то следующая залитая фотография будет иметь ID 1001.
Некоторые сторонние библиотеки (Phlickr) обрабатывали этот ID как число. Как целое число. Я бы даже сказал как целое знаковое число. Вообщем int...
В результате - переполнение для новых фотографий.

Вывод - я все чаще замечаю что при выборе типа для представления числа я предпочитаю использовать LONGLONG. Причем соображения простые - в int поместится "всего лишь" 2147483647. Когда-то это число - 2 миллиарда с "копейками" - казалось мне заоблачным. Теперь - нет. Внутреннее ощущение того что есть много а что нет изменилось. 2 Миллиарда записей а БД? А что, вполне может быть... Выделить 2 Миллиарда байт памяти - ну да, запросто, это же всего лишь 2Г. 2 Миллиарда файлов...с кем не бывает.

Комментариев нет: