Обновить
23
0
Роман «Balancer» Каршиев@Bal

Пользователь

Отправить сообщение
Я к тому, что «преждевременная оптимизация — зло» © Да, существуют задачи, в которых скорость работы со строками критична. Но PHP тут окажется не лучшим выбором хоть с preg-функциями, хоть со str. А на тех задачах, где этот язык востребован, скорость работы preg оказывается совершенно пренебрежимым фактором.
Извините, но в Вашем примере я вижу только голую арифметику. Это явно не тот пример, который должен демонстрировать вопросы сложности приоритетов.
Не могу вспомнить, чтобы в результатах профилирования на реальных проектах у меня preg_* функции показывали какой-либо заметный процент.

Вот сейчас как раз открыт результат профилирования. preg_match вызывается 6494 раз. Суммарное время выполнения — 14 мс (это на 2 секунды работы скрипта). preg_replace вызывается 828 раз. 1.7 мс.

Для сравнения по встроенным функциям:
Функция — число вызовов — суммарное время, мс
mysql_query — 54 --123
fclose — 4 — 44
file_put_contents — 297 — 26
file_get_contents — 55 — 16

Вы точно не путаете с древними ereg_* — вот те были реально тормозными.



Нашёл в логах пример потяжелее, там шла конвертация аж на 42 секунды длительностью. Там:
preg_match — 45883 раз — 28мс
preg_replace_callback — 9080 раз — 156мс
preg_replace — 658 раз — 1.4 мс
Фам Нювен несколько лет провел, обучаясь программировать и исследовать. Программирование восходило к началу времен. Как та навозная куча за замком отца. Когда ее промыло ручьем на десять метров в глубь, обнаружились искореженные корпуса машин – летающих машин, как говорили крестьяне, еще от тех великих дней колонизации Канберры. Но та навозная куча была чистой и свежей по сравнению с тем, что лежало в локальной сети «Репризы». Были программы, написанные пять тысяч лет назад, когда человечество еще не покинуло Землю. И самое чудесное (самое ужасное, как говорила Сура) было то, что, в отличие от бесполезных обломков прошлого Канберры, эти программы все еще работали! И через миллион миллионов запутанных нитей наследования многие из старейших программ все еще выполнялись во внутренностях системы Кенг Хо. Например, методы слежения за временем у торговцев. Поправки вносились неимоверно сложно – но на самом дне лежала крошечная программа, которая гоняла счетчик. Секунду за секундой отсчитывала система Кенг Хо с того момента, как нога человек ступила на Луну Старой Земли. Но если приглядеться еще пристальнее… начальный момент был миллионов на сотню секунд позже; момент «ноль» одной из первых компьютерных операционных систем Человечества.
Простите, но когда программист пишет, что ему надо напрячься и вспомнить про приоритеты арифметических операторов, я испытываю когнитивный диссонанс. Даже хотя прекрасно знаю о холиворах не тему значения выражения 2+2*2. Всё равно не могу привыкнуть к этому дивному новому миру.
Что ж у вас за фотоаппараты такие, что приходится использовать моторизированную монтировку при фотографировании неба?


Любой фотоаппарат, при съёмке на выдержке более чем ~600/ЭФР сек при полноэкранном просмотре. Понятно, что цифра очень приблизительная. Скажем, на 18МПкс, 30 сек. выдержки, 100% кропе и ЭФР 80 мм получается уже такое (Плеяды — кстати, хороши видно, что звёзды цветные без всякой обработки :) ):

Т.е., в данном случае, если хочется на 100% кропе не иметь смаза, снимать надо максимум на ~1..2 сек. выдержке. А это даёт уже слишком мало света. Соответственно, если хочется иметь выдержку больше, то нужно уже использовать моторную монтировку. А уже что на неё вешать, один фотоаппарат или фотоаппарат с телескопом — дело десятое. А вот «телескоп небольшой» в контексте «дешёвый» и, соответственно, «с безмоторной монтировкой» тут не только не поможет, а усугубит — фокусное расстояние на нём будет ещё больше, звёзды будут уплывать быстрее :)
Ещё одно дополнение (сорри, что в таком рваном ритме пишу, весь день урывками...)

Но вот цена кусалась. Например, самый дешевый Vixin Ploarie Star Tracker стоит от $400 + доставка. Да и грузоподъемность его вызывала сомнения.


Забавно, но я, наигравшись сперва неподвижной съёмкой дипская и решив переходить к подвижной съёмке, тоже смотре на это решение. В итоге же взял б/у Celestron 130SLT за 13 тыс. руб., который имеет в составе не только полностью компьютеризированную азимутальную монтировку (привязка к небу, поиск объектов как через встроенную БД, так и по координатам и т.п., ну и ведение объекта — само собой), но и «мелкий бонус» в виде телескопа со 130 мм апертурой :) (переводя на фототерминологию — фокусное f=650мм, диафрагма f/5). И это вывело астрофото на совсем другой уровень :)

А если смотреть в сторону более-менее серьёзных готовых недорогих решений, то надо обратить внимание на монтировки, типа EQ3. Новая, правда, стоит около 9..10 тыс. руб, но можно найти приличные б/у за половину этой цены. На неё штатно ставится моторчик и тянет она килограмм до 5 нагрузки (зависит от длины конструкции).
Моим первым Linux-дистрибутивом был RedHat (5.x какой-то) в примерно 1997-м :) В 1994-м — это совсем экстремально :D
А если речь вести не о глубоком космосе и длинных фокусных, а о съёмке звёздных полей, то тут с неподвижного штатива можно многое вытянуть :)

lh4.googleusercontent.com/-D7vlMmO1tGw/TyWaWvcICOI/AAAAAAAAOGU/VPUu1c_Kp50/s1280/20110806-0319-img_9374.jpg

lh5.googleusercontent.com/-gRk2mKIpVZw/UFGElRMmQOI/AAAAAAAAJqE/y8eCaqOhSyY/s1280/20120911-2339-img_8105.jpg

lh4.googleusercontent.com/-sz9H1R5r81c/UFGEneDZsXI/AAAAAAAAWNU/3Ns3rti35j8/s1280/20120911-2343-img_8107.jpg
Ибо без него снимать можно только звездные треки типа такого.


Исключительно из занудности замечу :) Недавно в параллельной теме приводил примеры снимков с обычного неподвижного фотоштатива: habrahabr.ru/post/226429/#comment_7688889 (практический интерес представляет только последнее фото, на первых я только учился).

А если поднять светочувствительность, то можно (это уже не моё) такое вытянуть: habrahabr.ru/post/226429/#comment_7690067



А, вообще, жаль, что у меня не настолько прямые руки. Я даже не могу до сих пор «без палочек и скотча» цивильно повесить фотоаппарат на моторную монтировку от телескопа. Приходится извращаться всякой подручной фигнёй.
Пардон, с 2004-го :)
Не, я в данном случае про любой классический девайс :) Я наблюдал всплывающие title, как минимум, на Desire HD и LG G2.
Представьте себе, я 10 лет (в аккурат с 1994-го) сижу на на Gentoo. И именно на ней мне, как раз, не приходится запускать configure :) Я же писал, XXI век на дворе…

Это не говоря уже про то, что я именно разработчик, и Linux до последнего года был основной системой :) Только сейчас, по мере окончательного угасания Gentoo, на десктопе пересаживаюсь на Windows.

Я к тому что это ни разу не устаревшая и применяемая многими людьми команда.

Я этого не утверждал. Я просто говорил, что это в наше время эта команда может быть далеко скрыта даже от весьма продвинутого пользователя. Кроме того, как писал в выше заминусованном сообщении, хорошая практика Web-продакшна (а иначе зачем нам говорить про тонкую оптимизацию nginx?) зачастую исключает наличие средств разработки из соображений безопасности. Лично я именно так и воспринял сообщение автора, породившего эту цепочку. Там, где стоит вопрос безопасности, вопрос ./configure на боевом сервере уже отчасти оксюморон :)
Кстати, пользуясь случаем. Никто не подскажет, как под Android эмулировать наведение курсора мыши? Скажем, посмотреть всплывающую при наведении подсказку или title элемента. Несколько раз натыкался на такое поведение, но так и не понял, как это делал :) Вариант «нажать и потянуть» не работает.
Кстати, запоздалый комментарий. Появилась такая фишка, как bowerphp. Есть в Composer'е. Позволяет ставить bower-пакеты голым PHP. Так что NodeJS уже не так нужен :)

Жаль только в bower пакеты чаще всего с полными исходниками, не нужными для продакшна. Из-за этого сейчас стараюсь меньше использовать Bower, а делать «чистые» asset-пакеты для Composer. Хотя плохо, что в последнем нормального управления asset'ами пока нет. Есть пара расширений на этот счёт, но они не идеальны :)
NNTP же не децентрализованный сам по себе. Понятно, что можно на нём реализовать кроссерверную синхронизацию, но это другая история. Так можно сделать распределённой хоть phpbb :)
Это был намёк на то, что в нормальных Linux-дистрибутивах в этом веке обычно нужно очень мало делать руками. И потому существует масса пользователей, которые к ./configure могут относится нервно :)



Более того. Сегодня считается хорошим тоном на боевом сервере не держать девелоперскую подсистему. Так что ./configure на продакшне может просто не сработать :)
Заказчику обычно нужен не хороший сайт, а такой, который ему понравится :)

А заниматься воспитанием вкуса у заказчика (признак хорошего ателье с точки зрения Павла Осиповича Сухого) готов далеко не каждый фрилансер.
Я на lighttpd просидел 9 лет. Но с прошлого года начал понемногу все свои сервисы переводить на nginx (сейчас только два с Лайти осталось). Производительность у nginx сейчас стала немного выше (хотя раньше было иначе), но дело не в ней. nginx гораздо гибче, мощнее и проще в конфигурировании. lighttpd пока объективно обходит nginx только наличием встроенного fcgi-менеджера. Но с появлением php-fpm, встроенный fcgi сейчас довольно мало востребован.
Вот только под Linux в последние лет 10 я применяю её не чаще пары раз в год и в весьма специфических задачах :) На дворе XXI век, всё же…

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность