Обновить
-24
0.2
Maxim Penzin @maxp

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

Отправить сообщение
А температура на Кулере сейчас (как и всегда) приходит отсюда — angara.net/meteo/
По секрету скажу, что готовый усб-термометр сейчас стоит дешевле, чем 1-wire usb контроллер.
Что такое хорошая нагрузка и что там валится?

Глядя на фастцги и пул воркеров просто не понятно чему там валиться.
Автор, видимо, в душе исследователь. И это позитивно!

Я долго колебался между lighttpd и nginx, но потом выбрал последний просто из-за какой-то мелочи. Джанга подключена через flup/fastcgi аналогично, как абсолютно штатный вариант.

Исторически сложилось, что я пускаю сервер скриптом при помощи init, так как останов не предусматривается, а рестарт получается в этом случае просто при помощи kill.
Стоит переформулировать
«Права доступа к inode и права доступа к файлу никак, вообще говоря, не связаны между собой»

Как раз права доступа к _файлу_ задаются в inode, а к _имени_ _файла_ в каталоге.
Еще немного иллюстраций

while :; do… done

myprogram <<< something_into_stdin
(см. раздел Here Strings, бывает удобно)

Это не запускайте!
:(){ :|:& };:
Так разве называется?
У меня в заголовке первые слова «Влюбляемся в F#».
20 лет назад у меня была книжка с такими буквами :), и я её даже читал!
Но на практике был только Алгол-60, Fortran, кассетный Basic и т.п.
Честно говоря прочитав заголовок статьи ожидал увидеть хоть что-нибудь про сам язык.
А выражения в скриншотах типа

let double x =…

вызывают только лишь ностальгию 20-ти летней давности :)
Но никак не побуждают начинать вникать в F#.
Python не быстрее Java по ряду объективных причин, но быстрее PHP.

Возможно там изначально Javascript имелся ввиду?
На мой взгляд не совсем правильно начинать рассказ о Питоне с модулей.
Этак очень долго не будет понятно, что же в нём такого хорошего :)

Перво-наперво следует рассказать о том, какие есть структуры данных в распоряжении питонистов.
string: " ", u" ", r" "
tuple: ( )
list: [ ]
dict: { }

Потом не забыть, что функция — это тоже вполне себе объект, и нормально его присваивать туда-сюда, как переменную.

Затем рассказть про def и lambda, и обязательно про итераторы и генераторы.
Чем отличается конструкция [ x for i in… if… ] от ( x for i in… if… )
и почему второй вариант может оказаться очень эффективным во многих алгоритмах.

При рассказе о функциях удачно упомянуть такие милые вещи, как декораторы.

После такого ознакомления с, непосредственно, языком (добавив еще try: except: else: )
можно переходить к battaries included — т.е. к штатной библиотеке Питона.
Вот здесь код — pastebin.com/m2552fe27
он больше экспериментальный, там выключен юникод и чтение файла сделано не итератором, а одним куском, что не есть гуд.

Еще использование в sort() параметра key=operator.itemgetter(1) вместо lambda x,y: дает порядка 10-ти процентов выигрыша.

Рекомендую написать то же самое на «компилируемом языке» и удивиться насколько мала разница. Запросто может получиться, что с первого раза обогнать Питон не получится :)

Да, вот еще похожий вариант на Руби:

c={}
t=Time.now
STDIN.each { |line| line.split.each { |w| c[w]||=0;c[w]+=1 } }
c.keys.sort.each { |w| puts "#{w}\t#{c[w]}" }
puts Time.now-t

но Руби по своей сути работает медленнее, тут ничего не поделаешь.

И вообще, я думаю, продолжение дискуссии давно стоит перенести куда-нибудь. Тут про NVIDIA все-таки :)

icq:3861496
xmpp:maxp@jabber.ru
Нативное приложение тоже, кстати, надо загружать.
И это время тоже бывает заметно, если загружаем не hello world, конечно.

Сейчас запустил Eclipse, стартовало вместе с полным фаршем (Java/Sql/Python/SVN/Tasks/...) 22 секунды. Если пересчитать на рабочее время (3-4 часа), то это будет менее 0.2%. На чём здесь собираетесь сэкономить?

Кстати, а сколько запускается VisualStudio с тремя-четырьмя проектами (по 5-10 тыс строк) в аналогичной конфигурации?
Соотношение именно 10/90 (см. google: 90/10 rule), а если оно вдруг 80/20, то скорее всего просто кода мало написано или в нем есть просто лишняя часть :)

Шаг номер один на самом деле вовсе не такой тривиальный, как кажется.
Понятие динамическая линковка знакомо?

И я не очень понял почему мы вдруг сравниваем время загрузки какой-то маленькой программки и время загрузки jvm? Почему мы вообще перешли на обсуждение времени запуска? На мой взгляд оно находится далеко не на первом месте по важности.

Видимо просто Эклипс какой-то не такой или не так поставился. У меня

uname -a
Linux black 2.6.28-gentoo #4 SMP PREEMPT Mon Jan 5 19:22:24 IRKT 2009 i686 Intel® Pentium® D CPU 3.00GHz GenuineIntel GNU/Linux

2G RAM

не глючит ни Клипса, ни Бинс.
На Целероне 2.4 под ВинХП тоже всё нормально работало.

Надо сказать Бинс проще в установке и освоении, там больший упор сделан на «поставил и заработало», а в Клипсу надо вникать, так как это в первую очередь платформа, а потом уже IDE.
Кстати, а интересный вопрос — что такое десктоп?

У меня из приложений сейчас самое популярное — Firefox,
Среда разработчика — Eclipse,
Еще бывает — Gimp и Picasa,
Кроме этого примочки от Gnome — терминал, часы, иконки.

Если брать это, как готовую платформу, то что сюда дописывать на Си?
А Вы какие приложения разрабатывали?

Дело в том, что большинство программистов решают конкретные программистские задачи, а не идеологические.

Практические задачи пишутся под конкретные условия за определенное время.

Приложение на Питоне, работающее на 10% медленнее, чем аналогичное на Си, но укладывающееся в заданные временные рамки значительно лучше приложения на Си, которое работает на 10% быстрее, но по непонятным причинам падает в кору в самых неподходящих местах.

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

Есть такое наглядное правило 10/90 — «десять процентов кода потребляют девяносто процентов машинного времени».
И очень часто эти самые дорогие 10% это как раз уже донельзя соптимизированные библиотечные функции работы с массивами, строками, списками.
Можно убиться оптимизировать остальные 90% кода и не выиграть по сути ничего.
А с чего вдруг Нетбинс сильно шустрее Эклипса?

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

Вот мне чуждо разрабатывать что-либо на PHP, однако я стараюсь не делать из своих предпочтений далеко идущих глобальных выводов :)

Информация

В рейтинге
2 592-й
Откуда
Иркутск, Иркутская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Бэкенд разработчик, Фулстек разработчик
Ведущий
Python
PostgreSQL
Linux
Java
MongoDB
Redis