Главная » 2010 » Февраль » 4 » Что общего между ориентированием и программированием?
18:29
Что общего между ориентированием и программированием?

В последнее время на некоторых сайтах об ориентировании вошло в моду рассуждать на совершенно отвлеченные вещи. Вот и я решил идти в ногу с уважаемыми блоггерами Севера Украины.

Кто-то работал тренером сборных СССР и УССР, кто-то метеорологом. А я работаю программистом. Немного об этой профессии (чуть с двумя ФФ не написал). Профессии принято разделять на «творческие» и «не творческие». Куда отнести программирование? Все зависит от программиста. Можно просто уныло кодить (писать код), а можно во всем искать интерес и подходить к делу со спортивным и творческим азартом. Компьтерные игры и ПО, проектирование баз данных и разработка отчетов в 1С - не имеет значение чем ты занимаешься, главное искать в этом удовольствие.

Азарт у меня проснулся совершенно неожиданно. Я писал очередную версию программы (что за программа сказать не могу, давал подписку о неразглашении данных, имеющих государственную ценность, во как!). Нужно переделать программу под новые требования отчетности, а эти самые требования очень отличаются от предыдущих. Писал, писал, вроде все работает как надо, в смысле расчеты и вывод данных идут правильно, но очень медленно. И начал я бороться за секунды.

Вам это ничего не напоминает? Знакомая картина: сядет ориентировщик после заваленной вдрызг дистанции и начинает думать: вот если бы я на первом КП 40 секунд в зеленке не оставил, да на третьем пол-минуты не потерял бы, да отыграл бы на варианте две минуты на длинном перегоне, да куст оббежал бы слева, а не справа, и предпоследнее КП не пробежал бы (а тут еще минута), да если бы каши больше ел, так вообще бы первым мог быть.

Вот думаю я о таких вещах и засекаю время выполнения расчета и вывода данных моей программы: 7.2 секунды. Много. Так, лезем в процедуру, в цикле выбираем данные, которые можно выбрать до него. Плохо. Про оптимизацию циклов мне еще на 3-м курсе рассказывали. Вторая попытка: 6.7с. Не густо. А что за запрос к базе у нас выводит данные на экран? Какой ужас – соединение 4-х таблиц с групповыми функциями и объединением двух таких запросов. Наверное, стоит переделать структуру БД. И таблиц меньше будет, и групповые функции отпадут. Самые трудоемкие запросы будут работать не при выводе данных. Все это делается не так быстро, как пишется, но результат того стоит. Ура - 2.4! Я ваще крут!


Но программа неприятно висит пару секунд при старте. Там запрос вхолостую работает, для новой версии его можно отключить. Уже вполне неплохо. Ну что еще? Есть у меня в программе хитрый режим автозаполнения данных, который использует данные, введенные другими службами. В зависимости от условий, может работать до 10 секунд. Сплошные запросы к базе на запись. Нужно как-то сделать это одним махом, а промежуточные данные для вычислений хранить не в базе данных, а оперативной памяти. Вот этим я завтра и займусь. До чего увлекательная у меня работа!

Такая увлекательная, что я с нетерпением жду выходных, чтобы свалить из офиса и поехать на соревнования. В последние выходные мы бегали маркировку в Аэропортовском. А потом еще желающие пробежали тренировочную дистанцию. Было телевидение, нас показывали по одесскому каналу ГЛАС. Получилось вполне неплохо, обычно журналисты ориентирование показывают так, что ориентировщикам смотреть на это тошно.

Предыдущий абзац мог быть последним, но заканчивать на слове "тошно" мне не хочется. Всем удачи!

Категория: Всякое разное | Просмотров: 1498 | Добавил: Admin | Рейтинг: 5.0/2