lqp - Наблюдение
June 22nd, 2008
02:16 pm

[Link]

Previous Entry Add to Memories Tell A Friend Next Entry
Наблюдение
Слова “Если десять лет назад самым критичным параметром программы была скорость ее выполнения на компьютере, то теперь миллисикунды уже никому не нужны, критичным становится скорость написания программы. ” я слышу уже лет этак примерно двадцать. А также иногда встречаю их в книгах, написанных еще до моего рождения.

Это, разумеется, совершеннейшая ерунда.

Tags:

(17 comments | Leave a comment)

Comments
 
[User Picture]
From:[info]rexy_craxy
Date:June 22nd, 2008 - 07:41 am
(Link)
+1
[User Picture]
From:[info]kouzdra
Date:June 22nd, 2008 - 08:39 am
(Link)
Это в общем-то близко к правде (если не доводить до абсурда). Хотя критичным является не столько "скорость написания", сколько обозримость и сопровождаемость кода.

Правда есть очень смешной факт - сопровождаемость кода напрямую коррелирует с скоростью выполнения: просто потому, что основные потери на скорости идут не от "неэффективности компилятора" (на которую любят напирать фанаты плюсов/с - точнее на "эффективность С/С++"), а от неудачной алгоритмики/чрезмерных пожираемых ресурсов: а это можно фиксить только в более или менее сопровождаемом коде.
From:[info]lqp
Date:June 22nd, 2008 - 09:39 am
(Link)
Ерундой является конкретно
a) противопоставление скорости выполнения скорости/удобству написания/поддержки.
б) Представления этой оппозиции в виде исторической последовательности.

А так, сопровождаемость - это вопрос утилитарный, он бывает и нужен, и важен, но не нужно делать из него культа. (а вот быстродействие - это вопрос не утилитарный, повышение быстродействия позволяет как-то решать новые задачи, которые раньше не решались никак).
From:[info]phantom
Date:June 22nd, 2008 - 10:56 am
(Link)
>А так, сопровождаемость - это вопрос утилитарный, он бывает и нужен, и
>важен, но не нужно делать из него культа.


Сопровождаемость, поддержка, более точно, способность ПО к развитию, масштабированию, улучшению, - центральный вопрос современной индустрии.
From:[info]lqp
Date:June 22nd, 2008 - 11:23 am
(Link)
Индустрия - это тоже есть вопрос сугубо утилитарный, и чем скорее ее утилизируют - тем лучше.
[User Picture]
From:[info]kouzdra
Date:June 22nd, 2008 - 07:10 pm
(Link)
Программа ставшая трудносопровождаемой, очень быстро станет катастрофически неэффективной. Просто потому что всегде есть вилка "качество программы/стоимость улучшения" и несопровождаемость сдвигает ее в сторону наплевания на качество.

Позволю предположить, что 90% линуксного софта жрет на пару-тройку порядков больше ресурсов, чем надо - в принципе все это знают и многие даже знаю как это исправить - но цена модификации кода слишком велика.
From:[info]lqp
Date:June 22nd, 2008 - 08:01 pm
(Link)
Это все экономические и организационные, а не технические вопросы. Важные, нужные - но важные и нужные именно как экономические и организационные, без перекладывания вины на вычислительную технику и научно-технический прогресс в целом.
From:[info]trurle
Date:June 22nd, 2008 - 12:03 pm
(Link)
Известны ли Вам инструменты разработки программ, сочетающие высокую степень оптимизации кода со производительностью разработки? До сих пор считалось что на одном конце этой шкалы находится ассемблер, а на другом - интерпретируемые языки, но, возможно, передовое мировоззрение дает иное понимание проблемы? Если это так то Вас, надеюсь, не затруднит поделиться своими представлениями.
From:[info]lqp
Date:June 22nd, 2008 - 01:07 pm
(Link)
Любые.

Навряд ли кто-то будет широко пользоватся инструментами, которые одновременно и слабо оптимизируют код и имеют низкую производительность разработки.

Наличный прогресс в computer science состоит в улучшении обоих параметров, а не в улучшении одного за счет ухудшения другого.

Для одной и той же программы компилятор Це 2008 года даст более эффективный код, чем компилятор Це 1988 года - Вы, надеюсь, не будете с этим спорить?

Интерпретатор Перла 2000 года более эффективно работает со строками, чем интерпретатор бейсика 198го.

И попытки ручного программирования на ассемблере на RISC-(не говоря уже о VLIW-)архитектурах показали крайне невысокую степень оптимизации получающегося кода.
From:[info]trurle
Date:June 22nd, 2008 - 01:19 pm
(Link)
Для одной и той же программы компилятор Це 2008 года даст более эффективный код, чем компилятор Це 1988 года /.../ Интерпретатор Перла 2000 года более эффективно работает со строками, чем интерпретатор бейсика 198го.
Верно, но программы, созданные на Перле и исполняемые интерпретатором Перла, по прежнему работают медленнее чем программы написанные на C. И разрыв этот, несмотря на некоторое уменьшение, по прежнему существенен и вряд ли будет полностью преодолен в обозримом. Навряд ли Вы будете утверждать что C является языком, всегда предпочтительным по сравнению с Перлом, поэтому приходится признать существование задач в которых скоростью исполнения программ жертвуют ради иных приоритетов.
From:[info]lqp
Date:June 22nd, 2008 - 05:58 pm
(Link)
А зачем сокращать разрыв? Это разные инструменты для решения разных задач. И были таковыми и 20 и 40 лет назад. Набор задач же за эти 40 лет если и изменились - то за счет появления совершенно новых областей,Э но никак не за счет замены одной категории другой.

Процент программистов в кодах сейчас относительно может и меньше - за счет как раз этих новых задач - но абсолютное их число больше чем когда-либо в истории.
From:[info]trurle
Date:June 23rd, 2008 - 09:54 am
(Link)
А зачем сокращать разрыв? Это разные инструменты для решения разных задач.
Я бы хотел обратить Ваше внимание что это утверждение в точности равно утверждению "существуют задачи для которых скорость выполнения менее важна чем иные соображения". В свою очередь, существование таких задач означает что в некоторых случаях утверждение которое Вы взялись опровергать в исходном постинге, верно.
From:(Anonymous)
Date:June 22nd, 2008 - 09:03 pm
(Link)
Не всегда. Существующая реализация Перл это скорее не интерпретатор, а интерпретирующий суперкомпилятор, и некоторые вещи там оптимизируются эффективнее, чем, по крайней мере, общераспространенными компиляторами с Си. Маленькая по размеру, но требующая длительного счета программка на Перле вполне может исполняться быстрее, чем ее аналог на Си.
From:(Anonymous)
Date:June 22nd, 2008 - 09:00 pm
(Link)
Вообще-то средний компилятор давно дает код эффективнее (по заданному параметру), чем средний программист на ассемблере.

Попробуйте, например, построить схемку Янова для оптимизации памяти в программе на ассемблере хотя бы из пары тысяч инструкций. А gcc это делает на раз.
From:[info]alamar
Date:June 22nd, 2008 - 01:26 pm
(Link)
95% людей, говорящих о скорости, не понимают, что такое скорость, и не умеют ей управлять.
From:[info]torbasow.livejournal.com
Date:June 28th, 2008 - 05:05 pm
(Link)
По моей практике, вовсе не ерунда. Время выполнения нашего кода в большинстве случаев на порядок меньше, чем время отрисовки в браузере, а на стороне сервера - чем время выполнения запросов СУБД. Конечно, и на эти длительности можно повлиять, но лишь до какой-то, обычно не слишком значительной степени.

Посему недавно начальство зарубило моё предложение перейти с голимого HTML'а на валидный XHTML и XUL. Тихой сапой я всё равно на них всё переведу, но распоряжение было - не тратить на это драгоценное время.
From:[info]lqp
Date:June 29th, 2008 - 11:39 am
(Link)
Вот почему-то куча народу возражает вовсе не на те слова, что я сказал.
Powered by LJ.Rossia.org