t.t писал(а): ↑20.10.2009 08:54Далее проиллюстрирую рассказом своего хорошего знакомого, имеющего многолетний опыт проектирования и разработки АРМ-ов (не путать с ARM-ами). В одном конкретном проекте он выбирал язык реализации для одной конкретной задачи. По параметрам задачи выходило, что ява подходит по всем статьям. Далее своими словами его реплика: "Написал я всё это на яве, запустил, потестировал. Работает, всё как надо делает, но ёлки-палки.. 99% проца! Решил для пробы переписать на перле. Работает ничуть не хуже, а потребление выше 30% ни разу не поднялось; в среднем 3-5."
имею кстати обратный пример. есть необходимость выполнять на очень большом объеме файлов что-то вроде: ls | while read i; do grep -iIrF 'pattern1' $i> pattern1.log; grep -iIrF 'pattern2' $i > pattern2.log; done итп. скажем, на 100Мб директории этот процесс занимает около 15 секунд. Переписал это все на ruby, с двумя усовершенствованиями: директория обходится только один раз, берем только файлы которые подходят под нужный нам шаблон(а не просто "не-бинарные файлы"), и потом каждый файл уже прогоняется через десяток шаблонов - получил те же 15 секунд, впрочем на тормоза ruby 1.8 ругани много. Ровно тот же скрипт запущенный через jruby на той же директории отработал за 5 секунд. Правда, да: память есть, и даже если оно cъест одно ядро полностью - это не страшно(на самом деле не ест). Но во-первых это "решение на коленке", которое прокатило(и таки с jvm но не на java, на java я не могу быстро писать), во-вторых не имеет никакого отношения к десктоп/мобильным задачам, когда чем меньше ресурсов надо, и чем быстрее оно реагирует на пользователя - тем лучше.