excubitus: (Default)
[personal profile] excubitus
Слегка запутинский сербский коллега Д. забрал дочь из колледжа на летние каникулы, и они всей семьей уехали в отпуск во Флориду. Следующий семестр его дочурка собирается учиться на копенгагенском кампусе, совсем далеко от мамки с папкой.

Меня Д. попросил разобраться с глючком его измерительной программы, с которой я последний раз имел дело еще до нашествия индусов, и смутно помню, что размер исполняемого файла был тогда около 70 мегабайт. Сейчас он подрос до 135 или около того, а папка проекта весит больше гигабайта, и там реально есть монструозные исходники по десятку мегабайт. Д. в этом коде ориентируется, вплоть до номеров строк. "Ищи это место примерно на 60800-й строке такого-то файла".

Программа при попытке сохранения очень большого массива данных вылетает с ошибкой "Out of Memory".

Я в последние несколько дней до отъезда Д. сделал то, что собирался сделать еще 10 лет назад, но тогда не хватило духу. Написал утилитку, которая перегнала его сотню dbf файлов (dBase, если для кого-то это название еще хоть что-то говорит) в SQLite. С помощью Грока, естественно, самому это было слишком лень. И еще несколько подобных динозавров мигрировал в нечто более-менее поддерживаемое. Поэтому, ожидаемо, в моей версии кода никакого Out of Memory не происходит. Но ее надо много-много тестировать. Взял версию Д., ошибка воспроизвелась, что хорошо. В пятницу догадался, где может быть проблема. Д. любит делать выборки из объединений гигантских таблиц, я и не подозревал, что dBase поддерживает такие размеры. Но всему есть предел. Д, однако, уже уехал, а без него поиск и отладка заняли бы долгое время, решил отложить до следующей недели.

Сегодня ночью приснилось точное место, где это происходит. Вскочил, достал лаптоп, влез в код. Естественно, приснилась чушь какая-то. Но раз уж включил, не выключать же. Повалялся часок с лаптопом, и нашел таки. Исправил. Очень доволен.

Решительно не понимаю, что мне не нравилось в этой работе до нашествия индусов. Ну да, у нас очень много кривого кода. Но ведь это так интересно. И осмысленно. В отличие от. Воистину, купи козу - продай козу.
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

Profile

excubitus: (Default)
excubitus

December 2025

S M T W T F S
 1234 56
78 910111213
1415 1617 181920
21 222324252627
28 29 3031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 1st, 2026 05:44 am
Powered by Dreamwidth Studios