taki_net: (Default)
taki_net ([personal profile] taki_net) wrote2011-06-21 11:55 pm
Entry tags:

Болезненная страсть к оптимизации кода

У нас в подъезде два лифта - №1 и №2.

Я давно заметил, что если едешь на №2 на первый этаж, и там уже стоит №1, то сразу после высадки пассажиров №2 закрывает двери и уезжает на 2 этаж (это так по факту и так отображается на табло). Если №1 приезжает на первый, когда там стоит №2, то до того как №1 успевает закрыть дверь, №2 сам себя вызывает и уезжает на 2-й этаж. Наконец, недавно я проверил, что как только уезжаешь с первого этажа на №1 - №2 спускается обратно.

Вызывают интерес такие вопросы:

1. Это сделано нарочно, чтобы сэкономить время ожидания при вызове сверху? На целый этаж?

2. Это баг, а точнее, программер не знал, как расписать условие выбора при вызове лифта, если они оба на одном и том же этаже и решил программно запретить это?

3. Если принудительно пригнать оба лифта на первый этаж - что произойдет? Только спецЭВМ перегорит или и тросы порвутся тоже?

[identity profile] chaotickgood.livejournal.com 2011-06-21 08:21 pm (UTC)(link)
Логика подсказывает, что ответ 2.

А насчёт третьего я не понял - принудительно это как?

[identity profile] taki-net.livejournal.com 2011-06-21 08:35 pm (UTC)(link)
Ну, скажем, я прошу сына на первом этаже открыть дверь лифта №2 и не давать ей закрыться, а сам лифтом №1 приезжаю сверху на первый этаж.

[identity profile] chaotickgood.livejournal.com 2011-06-21 08:58 pm (UTC)(link)
Может что-нибудь интересное произойти, мне кажется. Например у лифта №1 дверь не закроется.

Но с тросами, я думаю, всё будет в порядке.

[personal profile] ichthuss 2011-06-21 08:58 pm (UTC)(link)
Мне, как программисту, крайне сложно представить себе вариант 2, поэтому скорее 1. Хотя как знать.

[identity profile] francis-drake.livejournal.com 2011-06-21 11:01 pm (UTC)(link)
А сколько этажей в доме?

[identity profile] almor.livejournal.com 2011-06-22 05:31 am (UTC)(link)
Я думаю первый вариант. Логичнее, конечно, было бы гонять его на какой-нибудь средний этаж (или 1/3 от максимума), но, либо установщики что-то недонастроили и система не знает, сколько всего этажей в доме, либо просто алгоритм делать начали, но не стали заморачиваться с вычислениями - уж два-то этажа в доме с лифтом всяко есть. :)

[identity profile] almor.livejournal.com 2011-06-22 05:34 am (UTC)(link)
PS: У нас в доме, кстати, лифты утром и вечером работают по разному алгоритму - вечером оба автоматически уезжают на первый этаж, а утром/днём - нет (табло у нас нет, поэтому где они утром-днём тусуются - не знаю).

[identity profile] taki-net.livejournal.com 2011-06-22 06:34 am (UTC)(link)
17

[identity profile] alexcatku.livejournal.com 2011-06-22 06:37 am (UTC)(link)
А у вас на этажах для вызова одна кнопка или две (вверх-вниз)? И лифт с верхних этажей автоматически возвращается на первый?

[identity profile] bullochka.livejournal.com 2011-06-22 07:21 am (UTC)(link)
пункт номер три радует необычайно :))))))))))))))0

[identity profile] taki-net.livejournal.com 2011-06-22 09:39 am (UTC)(link)
А у вас на этажах для вызова одна кнопка или две (вверх-вниз)?

Одна.

И лифт с верхних этажей автоматически возвращается на первый?

Нет.

[identity profile] vaysburd.livejournal.com 2011-06-22 10:24 am (UTC)(link)
Вспомните спор, какие тела, легкие или тяжелые, падают быстрее. Как поступил Галилей? :)))

4-я версия

[identity profile] v-phi.livejournal.com 2011-06-22 11:55 am (UTC)(link)
Эти два лифта используют пространство в одной и той же шахте, без перегородки между двумя воздушными коридорами. Пока кабины находятся на одной высоте, угроза вывода обоих лифтов из строя при взрыве, пожаре и сходе с рельсов одной кабины - выше.

Re: 4-я версия

[identity profile] http://users.livejournal.com/_shadow__/ 2011-06-22 12:33 pm (UTC)(link)
угу, вервсего это технически обусловлено. Но может что-то попроще; например, чтобы две находящихся на одном этаже кабины не перекрывали вентиляцию шахты лифта.

радикальное улучшение лифта

[identity profile] v-phi.livejournal.com 2011-06-22 01:24 pm (UTC)(link)
переход на круговое движение: по одному воздушному коридору кабины только поднимаются, по другому только опускаются.
Кажется, потребуется занять технические этажи под и над шахтой для перевода кабины в другой воздушный коридор.
Зато в час пик можно будет выпустить на трассу сразу много кабин и устранить очереди. Кстати, можно сделать двери в разные стороны, чтобы потоки пассажиров не пересекались в коридоре. Правда, тогда на технических этажах придется предусмотреть переворачивание кабины дверью в другую сторону.

Не обязательно ставить в кабину мощный двигатель и ведущие колеса с коэффициентом трения 200 процентов. Есть более старое решение, канатный трамвай. Когда нужно ехать, кабина плавным движением сжимает фрикционной муфтой тяговый трос. Если нужен экспресс-лифт, можно предусмотреть отпускание медленного тягового троса с одновременным захватом быстрого.
На спуске такая же система будет работать на выработку электроэнергии.

Re: радикальное улучшение лифта

[identity profile] http://users.livejournal.com/_shadow__/ 2011-06-22 02:16 pm (UTC)(link)
: ) - такая система есть
http://en.wikipedia.org/wiki/Paternoster
но ее уже практически запретили, насколько мне известно

патерностер - это мой лифт в пробке

[identity profile] v-phi.livejournal.com 2011-06-22 05:18 pm (UTC)(link)
Точнее, мой лифт в пробке движется еще медленнее, чем патерностер.
Зато без пробок он движется с нормальной скоростью. И стоит на этаже сколько угодно, не угрожая коляскам и т.п.

важное отличие от патерностера

[identity profile] v-phi.livejournal.com 2011-06-22 05:30 pm (UTC)(link)
Можно уменьшить число порожних рейсов.
Надо просто иметь запас кабин на верхнем техническом этаже перед пиком спроса на рейсы вниз и, наоборот, запас кабин на нижнем техническом этаже перед пиком спроса на рейсы вверх.

[identity profile] chyyr.livejournal.com 2011-06-28 07:58 pm (UTC)(link)
У меня в доме тоже два лифта от одной кнопки работают.

У них другой баг: если оба они на первом этаже стоят, вызвать их нет никакой возможности. Приходится идти на второй, нажимать там кнопку вызова - и только тогда один трогается в путь, а второй открывает двери.

Полагаю, "ваш" баг - попытка избавиться от "моего".