Re[3]: Работа с календарями или графиками работ
От: intr13 Россия  
Дата: 06.02.10 06:36
Оценка:
P>3 секунды много или мало — зависит от количества работ. Если там 100500 млрд. работ то достаточно быстро ) если 10 работ то медленно )

Отрезков относительно немного порядка 1000. Сейчас основное время ест преобразование из правил в отрезки.

P>Возможно тип данных поможет сменить если это еще не сделано, все сводится к пересечению отрезков.

P>Например если взять дискретность 1 секунда то получаем в год 31536000 сек , обычного Int32 хватит на 132 года, но лучше сразу Int64 ).
P>Возможно имеет смысл секунды не считать, только минуты или по 5 минут. Врятли кто-то планирвать будет дело на 2 минуты или планировать встречу на 12.32
P>поэтому дискретность бери из практики.

P>Потом нужно будет сделать проецирование этой цифры в привычный формат, с учетом 29 февраля и учет перевода времени + возможны какие-то специфики для экзотических культур.


Дискретность отрезка равна секунде при задании правил, при преобразовании правил в отрезки дискретность получается в миллисекундах (стандартный тип данных — дата со временем). Возможно действительно стоит задуматься об использовании точки начала отсчета, смещения относительно нее и заданным типом дискретности.

P>Все расчеты по пересечению работ будут сводится к расчету пересечения отрезков, что должно быть достаточно быстро


А есть ли какие нибудь базовые алгоритмы или подходы к пересечению отрезков? Что нибудь есть почитать?

P>то есть на входе у тебя список отрезков — после обработки снова список отрезков который может быть больше или равен по кол-ву исходному.


Это в принципе понятно, у меня даже есть операция слияния следующих друг за другом отрезков. Я ее натравливаю на результат в конце работы основного алгоритма.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.