<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
	<title>Хабрахабр: коллективные</title>
	<link>http://habrahabr.ru/rss/blogs/development/43905/</link>
	<description><![CDATA[]]></description>
	<language>ru</language>
	<managingEditor>editor@habrahabr.ru</managingEditor>
	<generator>habrahabr.ru</generator>
	<pubDate>Sat, 20 Mar 2010 19:28:29 GMT</pubDate>
	<lastBuildDate></lastBuildDate>
	<image>
		<link>http://habrahabr.ru/</link>
		<url>http://habrahabr.ru/i/logo.gif</url>
		<title>Хабрахабр</title>
	</image>
	
	
		<item>
        	<title>06.11.2008 13:11:53 Ferroman</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/development/43905/#comment_1099513</guid>
			<link>http://habrahabr.ru/blogs/development/43905/#comment_1099513</link>
			<description><![CDATA[&gt;путь наименьшего сопротивления<br/>
ну я понимаю, нужно всегда использовать трудный путь.]]></description>
			<pubDate>Thu, 06 Nov 2008 13:11:53 GMT</pubDate>
			<author>Ferroman</author>
		</item>
	
		<item>
        	<title>06.11.2008 13:09:33 Ferroman</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/development/43905/#comment_1099497</guid>
			<link>http://habrahabr.ru/blogs/development/43905/#comment_1099497</link>
			<description><![CDATA[&gt;Какой смысл в быстром интернете с медленным браузером, объясните? <br/>
Видео смотреть удобнее.<br/>
&gt;Не вижу ни одной убедительной причины, по которой программа может притормаживать на процессоре, выполняющем больше миллиарда (!) операций в секунду.<br/>
Вы никогда не задумывались почему производители браузеров — огромные компании с миллионными оборотами? С большим штатом программистов? Даже целые войны были.<br/>
Неужели Вы действительно умаете что всё так просто?]]></description>
			<pubDate>Thu, 06 Nov 2008 13:09:33 GMT</pubDate>
			<author>Ferroman</author>
		</item>
	
		<item>
        	<title>05.11.2008 18:17:57 egorinsk</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/development/43905/#comment_1097264</guid>
			<link>http://habrahabr.ru/blogs/development/43905/#comment_1097264</link>
			<description><![CDATA[&gt; А как Вы это узнали, если это архив?<br/>
<br/>
PEiD пишет MS VC 7.0 [ZIP SFX][Debug], а Тотал коммандер открывает содержимое (да-да, он и такое умеет)). <br/>
<br/>
&gt; Потому что он — интерпретатор. Вы бы <br/>
&gt; для начала почитали что это такое, а <br/>
&gt; потом уже критиковали.<br/>
<br/>
Конечному пользователю не нужен интерпретатор, ему нужна программа)) А если вдру понадобится — он его скачает и установит. Тупо свалить файлы и интерпретатор в самораспакавывающийся архив — это путь наименьшего сопротивления. <br/>
<br/>
&gt; Я уже не говорю о том что без этих <br/>
&gt; «медленных и не нужных» (Python, C#, <br/>
&gt; Java, Tcl ...) языков не появилось бы куча <br/>
&gt; программ. Просто потому что их сложнее &gt; было бы делать.<br/>
<br/>
На сервере — пожалуйста. Там за железо платит разработчик, а не пользователь)]]></description>
			<pubDate>Wed, 05 Nov 2008 18:17:57 GMT</pubDate>
			<author>egorinsk</author>
		</item>
	
		<item>
        	<title>05.11.2008 17:58:11 egorinsk</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/development/43905/#comment_1097229</guid>
			<link>http://habrahabr.ru/blogs/development/43905/#comment_1097229</link>
			<description><![CDATA[&gt; Вот когда к нему прикрутят весь тот <br/>
&gt; плагинный функционал что есть у фф <br/>
&gt; тогда и будем сравнивать.<br/>
<br/>
Тормознутость браузера перечеркивает все преимущества плагинов. И эту тормознутость ничем не исправить, надо только подождать пару лет, когда железо станет помощнее. Если конечно программеры FireFox не придумают еще какуб-нибудь ресурсоемкую хрень.<br/>
<br/>
Что касается скорости работы программ — это непосредственно связано с юзабилити, удобством использования. Хотя возможно, улучшение юзабилити не является для кого-то приоритетом.<br/>
<br/>
&gt;компьютер не должен реагировать медленнее мысли<br/>
&gt; Это в идеале. А в жизни всё сложнее.<br/>
Не вижу ни одной убедительной причины, по которой программа может притормаживать на процессоре, выполняющем больше миллиарда (!) операций в секунду. Если программа делает что-то мега слодное — выведите градусник, но томрозов тем не менее быть не должно. Пользователь мог бы ввести поисковый запрос и сидеть смотреть результаты, делать выводы, а вместо этого он должен ждать пока загрузится браузер, тратя свое время. Какой смысл в быстром интернете с медленным браузером, объясните?]]></description>
			<pubDate>Wed, 05 Nov 2008 17:58:11 GMT</pubDate>
			<author>egorinsk</author>
		</item>
	
		<item>
        	<title>05.11.2008 12:23:05 Ferroman</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/development/43905/#comment_1096514</guid>
			<link>http://habrahabr.ru/blogs/development/43905/#comment_1096514</link>
			<description><![CDATA[&gt;Особенно учитывая крошечный процент пользователей не-Win систем. Получается, что 97% человек платят за то, чтобы у оставшихся 3% эта программа тоже работала.<br/>
Ага.<br/>
&gt;debug-версию<br/>
А как Вы это узнали, если это архив?<br/>
&gt;на С++ хороших библиотек. что творится-то?<br/>
Это называется прогресс. Кроме С++ в мире есть ещё много хороших языков программирования.<br/>
&gt;И почему, блин, Питон, если уж его использовать, не компилируется в машинный код<br/>
&gt;По моему, так просто Питон под windows никому особо не нужен, вот все на его оптимизацию и забивают.<br/>
Потому что он — интерпретатор. Вы бы для начала почитали что это такое, а потом уже критиковали.<br/>
Если он вам не нужен — это ещё не значит что не нужен никому.<br/>
Я уже не говорю о том что без этих «медленных и не нужных» (Python, C#, Java, Tcl ...) языков не появилось бы куча программ. Просто потому что их сложнее было бы делать.]]></description>
			<pubDate>Wed, 05 Nov 2008 12:23:05 GMT</pubDate>
			<author>Ferroman</author>
		</item>
	
		<item>
        	<title>05.11.2008 12:15:47 Ferroman</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/development/43905/#comment_1096488</guid>
			<link>http://habrahabr.ru/blogs/development/43905/#comment_1096488</link>
			<description><![CDATA[&gt;компьютер не должен реагировать медленнее мысли<br/>
Это в идеале. А в жизни всё сложнее.<br/>
&gt;Не путайте, повторю еще раз, десктопные приложения и серверные или командно-строчные скрипты<br/>
Я не путаю. Когда я говорил про достаточную скорость я имел в виду все программы, вне зависимости от применения.<br/>
&gt;но запускается почти мгновенно<br/>
Вот когда к нему прикрутят весь тот плагинный функционал что есть у фф тогда и будем сравнивать.<br/>
<br/>
Вы приписываете мне свои мысли. <br/>
Скорость должна быть достаточной. Для любой программы. <br/>
]]></description>
			<pubDate>Wed, 05 Nov 2008 12:15:47 GMT</pubDate>
			<author>Ferroman</author>
		</item>
	
		<item>
        	<title>05.11.2008 07:43:17 egorinsk</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/development/43905/#comment_1095853</guid>
			<link>http://habrahabr.ru/blogs/development/43905/#comment_1095853</link>
			<description><![CDATA[Если кратко — в общем, вы правы. Я абсолютно не против использования библиотек, конечно, не писать же свою функцию printf() ))) Более того, нет наверно никакого смысла писать все самому, то, что уже написано и отлажено до тебя тысячей человек. Но почему люди просто тупо статически линкуют библиотеку целиком, даже если используют меньшую часть функций? (подозреваю, в опенсорсе это связано с тем, что gcc не умеет function-level linking)<br/>
<br/>
Другой вопрос, что библиотеки бывают разные. Упомянутые мной Gtk и Qt (мое имхо) потебляют неадекватное количество ресурсов, посмотрите, сколько времени будет выполняться HelloWorld. Другой вопрос, что они дают чот-то вроде кроссплатформенности, но не дорогая ли выходит плата за кроссплатформенность? Особенно учитывая крошечный процент пользователей не-Win систем. Получается, что 97% человек платят за то, чтобы у оставшихся 3% эта программа тоже работала.<br/>
<br/>
Другой пример. Есть такая замечательная программа DropBox. У нее очень классная задумка, а вот реализация — подкачала (именно десктопного клиента, к веб-инетрфейсу претензий нет). Эта программа, даже ничего не делая, сидя в трее потребляет под 50Мб памяти, как вы думаете, почему? А загляните-ка в папку программы и увидите там во-первых, Python25.dll, значит минимум часть программы написана на питоне, уже понятно, куда девается память и возможно скорость работы. Теперь заглянем в 24 мегабайтный екзешник, который представляет собой мало того, что debug-версию (руки бы поотрывать), так еще и является архивом. да-да, не ослышались, это архив, видимо во время запуска он куда-то распаковывается, на диск или в память. В архиве — тонна файлов и папок, ощущение, что это пакет с исходниками ядра Линукса)) Но нет, там куча (слава богу, откомпилированных) Питоновских файлов и библиотек. Ах да, еще несколько внушительного размера библиотек вроде wxmsw28uh_core_vc.dll (3 мб, нехилый размер для core). Вот и обяъяснение памятежоркости — Питон + WxWidgets. Нафига им сдался питон и WxWidgets — не пойму. неужели нет на С++ хороших библиотек. что творится-то? Или они денег все стоят? И почему, блин, Питон, если уж его использовать, не компилируется в машинный код.а превращается в какую-то хрень, помесь архива и exe-файла? По моему, так просто Питон под windows никому особо не нужен, вот все на его оптимизацию и забивают.<br/>
<br/>
Вот такие вот печальные дела(]]></description>
			<pubDate>Wed, 05 Nov 2008 07:43:17 GMT</pubDate>
			<author>egorinsk</author>
		</item>
	
		<item>
        	<title>05.11.2008 07:09:52 TheShade</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/development/43905/#comment_1095815</guid>
			<link>http://habrahabr.ru/blogs/development/43905/#comment_1095815</link>
			<description><![CDATA[Хорошо, начнём опять с «и мне как человеку ленивому хотелось бы писать поменьше». Вот пишете Вы большое приложение на некоем подмножестве С++, будете всё руками реализовывать или что-то из библиотек брать? <br/>
<br/>
Если руками, откуда уверенность, что Вы сделаете быстрее и качественнее, чем сотня разработчиков библиотеки? Если из библиотеки брать, как мириться с совестью «сделано не мной, значит некачественно»?<br/>
<br/>
Поэтому разумное большинство программистов с лёгкостью берёт реализации из библиотек и только потом докручивает, что нужно, чтобы вложиться в требования по перформансу/памяти/етц. Ваша претензия ведь не к тому, какую платформу использовать, а какие требования выдвигать.<br/>
<br/>
Можно эксплуатировать и другой подход: писать «оптимальные» куски кода самостоятельно. Но это не только подвергает итоговый проект опасности не проверенных багов, срывает сроки и проч., но и повышает уровень энтропии во Вселенной. Куда лучше Ваше знание (если Вы знаете, как что-то сделать быстро) оформить в виде — чего? — библиотеки, и дать людям пользоваться. А поскольку бОльшая часть нудных действий уже сделана в существующих либах, то Ваш input может заключаться в патчах к существующей библиотеке. Так и волки сыты, и овцы целы.]]></description>
			<pubDate>Wed, 05 Nov 2008 07:09:52 GMT</pubDate>
			<author>TheShade</author>
		</item>
	
		<item>
        	<title>05.11.2008 05:44:45 AxisPod</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/development/43905/#comment_1095728</guid>
			<link>http://habrahabr.ru/blogs/development/43905/#comment_1095728</link>
			<description><![CDATA[Очень интересная статья, с другой стороны жить как-то расхотелось сразу )]]></description>
			<pubDate>Wed, 05 Nov 2008 05:44:45 GMT</pubDate>
			<author>AxisPod</author>
		</item>
	
		<item>
        	<title>05.11.2008 02:48:43 egorinsk</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/development/43905/#comment_1095643</guid>
			<link>http://habrahabr.ru/blogs/development/43905/#comment_1095643</link>
			<description><![CDATA[Если кратко: компьютер не должен реагировать медленнее мысли, человеческого мозга. Иначе пользователю приходится ждать, а это некомфортно.<br/>
<br/>
&gt; Для меня качество — это точность в решении <br/>
&gt; поставленной задачи. Насколько хорошо <br/>
&gt; решена задача? Вот что главное.<br/>
<br/>
Не путайте, повторю еще раз, десктопные приложения и серверные или командно-строчные скрипты. Одно дело — скрипт, который гудит где-то в недрах сервера, часами обрбатывая большой объем данных, железке пофиг, другое дело, то, что у меня, живого человека)) на экране.<br/>
<br/>
Десктопное приложение (которым пользуются повседневно, а не 1 раз, посмотрел — снес) не должно потреблять неадекватное количество памяти, не должно медленно запускаться (сплеш-заставка — это анахронизм 95 годов), интерфейс не должен вызывать заметных глазу задержек, и тем более, «замерзать».<br/>
<br/>
Когда чувствуешь при каждом клике, как событие медленно проваливается сквозь толщу компонентов и обработчиков, или когда на глазах прорисовываются элементы интерфейса, это подрывает весь user-experience.<br/>
<br/>
Сравните для примера Chrome и Firefox. Первый ест больше памяти (издержки технологии, надеюсь исправят), но запускается почти мгновенно. Что хорошего в браузере, который запускается с такой же скоростью, как последний 3Д Макс?(да и работает не быстрее). Ну и естественно, идею реализациии интерфейса на XUL/JS нельзя назвать грамотной, как и идею выполнять обработку событий интерфейса и JS-скрипты в одном потоке, тут просто сказать нечего. Хотя это и можно объяснить ограниченностью ресурсов у разработчиков (не так богаты, как Гугл все же) и «больной» историей (большое число команд учавствовало в разработке, в таких случаях архитектура страдает).<br/>
<br/>
Какой смысл тогда подключаться к многомегабитному интернету, если страницы прорисовываются дольше, чем приходит очередная порция данных из сети?]]></description>
			<pubDate>Wed, 05 Nov 2008 02:48:43 GMT</pubDate>
			<author>egorinsk</author>
		</item>
	
		<item>
        	<title>05.11.2008 02:23:51 Ferroman</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/development/43905/#comment_1095641</guid>
			<link>http://habrahabr.ru/blogs/development/43905/#comment_1095641</link>
			<description><![CDATA[Качество тут не при чём. Хотя что именно Вы имеете в виду говоря «качество»?<br/>
Для меня качество — это точность в решении поставленной задачи. Насколько хорошо решена задача? Вот что главное.<br/>
На шарпе пишут и хорошие, качественные программы, хотя жуют они больше чем жевал бы аналог но на С/С++<br/>
А ведь часто скорость в решении — не главное. Программа не обязательно должна быть «ультра» быстрой она должна быть <b>достаточно</b> быстрой для своей задачи. Тут важно соблюдать баланс. Разработчики часто перестают проверять perfomence вообще, а вот это уже плохо. Хотя крайности — обычно всегда плохо…<br/>
]]></description>
			<pubDate>Wed, 05 Nov 2008 02:23:51 GMT</pubDate>
			<author>Ferroman</author>
		</item>
	
		<item>
        	<title>05.11.2008 01:40:14 egorinsk</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/development/43905/#comment_1095626</guid>
			<link>http://habrahabr.ru/blogs/development/43905/#comment_1095626</link>
			<description><![CDATA[Боюсь, вы неправильно меня поняли. Я говорю о производительности языков для десктопных приложений, а не серверных. Согласен, на сервере можно хоть на Руби писать, так как всегда можно обеспечить нужную производительность покупкой хорошего железа, настройкой ОС, кешированием, масштабированием и прочим.<br/>
<br/>
Пользователю важно, чтобы у него все работало быстро, и никто не будет против, если вы напишете скрипт, делающий хоть 1000 запросов к бд, если сможете обеспечить производительность.<br/>
<br/>
Но десктопные приложения — другая область, здесь перед разработчиком другой уровень требований, и писать надо программы, эффективно использующие ресурсы компьютера (а не вести себя так, как будто пользователь будет запускать только вашу программу и больше ничего параллельно). Перечисленные мной технологии этим требованиям отвечают плохо.<br/>
<br/>
Другой вопрос, что с экономической точки зрения это не очень выгодно, выгоднее делать как придется. Но это извечный вопрос — сделать кое-как или качественно.<br/>
<br/>
А в веб-технологии соотверственно внимание стоит уделять производительности client-side технологий, например js (многие приложения Гугла, например, на мой взгляд в этом плане сделаны так себе, авторы увлеклись созданием сложных интерфейсов на языке, который для этого не очень подходит).<br/>
<br/>
Что касается вопроса про язык для десктопа — очевидно, нужно что-то вроде С++, только было бы замечательно, если б его кто-то подпилил, решив проблемы, начиная с классической проблемы исключений в конструкторе, и придумав нативные и производительные масивы и строки. Ну и мне. как человеку ленивому хотелось бы писать поменьше, то есть сделать автогенерацию заголовочных файлов, убрать необходимость описывать всякие структуры (автогенерация описания структуры, почему бы нет) и типы данных там, где они очевидны. ах, да, и include_once сделайте пожалуйста (или вообще уберите нафик заголовочные файлы) (не понимаю. почему никто до этого не додумался). <br/>
<br/>
Ну и касательно библиотек (Gtk, Qt), они действительно неэффективны, соравните производительность наитивных Win приложений вроде notepad с такими же, написанными на этих библиотеках. Как говорится, разница видна невооруженным глазом. Ну и то, что имитировать ООП на Си — явное извращение, не стоит забывать (я читал про причины, побудившие это сделать, тем не менее это слабое и неэффективное решение). ]]></description>
			<pubDate>Wed, 05 Nov 2008 01:40:14 GMT</pubDate>
			<author>egorinsk</author>
		</item>
	
		<item>
        	<title>04.11.2008 23:07:45 TheShade</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/development/43905/#comment_1095486</guid>
			<link>http://habrahabr.ru/blogs/development/43905/#comment_1095486</link>
			<description><![CDATA[Понимаете ли, языки низкого уровня действительно дают отличную возможность проявить себя, заставить оборудование работать на пике производительности. Проблема только в том, что бесплатный сыр — только в мышеловке. За такую «свободу» придётся платить производительностью программистов. <br/>
<br/>
Сами оцените, к счастью это или нет, но купить сервер по-мощнее часто дешевле, чем купить время программистов. Хотя и такое бывает — сам больше 3 лет работал в команде, занимавшейся конкретно разгоном Java-рантаймов.<br/>
<br/>
Я тут ненароком заглянул Вам в профиль — у Вас там PHP обозначен. Что бы Вы мне сказали, если бы я попросил Вас не писать на этом столь богатом библиотеками языке, а пользоваться каким-нибудь ANSI C? Готов поспорить, аргументы о лени тут же бы улетучились, уступив место каким-нибудь хитрым рационализациям.]]></description>
			<pubDate>Tue, 04 Nov 2008 23:07:45 GMT</pubDate>
			<author>TheShade</author>
		</item>
	
		<item>
        	<title>04.11.2008 22:55:59 TheShade</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/development/43905/#comment_1095468</guid>
			<link>http://habrahabr.ru/blogs/development/43905/#comment_1095468</link>
			<description><![CDATA[А по-Вашему, какому «языку» место на десктопе?<br/>
<br/>
Желательно аргументировано: сначала требования, потом соответствия «языков» требованиям. Не забудьте про требования разработчиков, а не только пользователей.<br/>
<br/>
«Языки» пишу в кавычках, потому что за этим термином кроется в общем-то платформа, включая рантаймы, библиотеки и проч. ]]></description>
			<pubDate>Tue, 04 Nov 2008 22:55:59 GMT</pubDate>
			<author>TheShade</author>
		</item>
	
		<item>
        	<title>04.11.2008 22:51:56 TheShade</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/development/43905/#comment_1095455</guid>
			<link>http://habrahabr.ru/blogs/development/43905/#comment_1095455</link>
			<description><![CDATA[Уверены, что можно FFT блоками вычислить? :) Хотелось бы прямой пруфлинк на такую имплементацию — в LWN'овской статье контекстный поиск находит только ссылку на FFTW.]]></description>
			<pubDate>Tue, 04 Nov 2008 22:51:56 GMT</pubDate>
			<author>TheShade</author>
		</item>
	
		<item>
        	<title>04.11.2008 20:42:40 egorinsk</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/development/43905/#comment_1095166</guid>
			<link>http://habrahabr.ru/blogs/development/43905/#comment_1095166</link>
			<description><![CDATA[Ну хорошо, лентяи, я немного перегнул, тут скорее рыночные обстоятельства, то есть разработчику/программистам нужно реализовать выполнение программой каких-то задач к какому-то сроку, а уж насколько качественно это будет сделано — дело десятое, наверно писать исключительно хорошие программы невыгодно, где-то я читал… не помню, может у Споэльски.]]></description>
			<pubDate>Tue, 04 Nov 2008 20:42:40 GMT</pubDate>
			<author>egorinsk</author>
		</item>
	
		<item>
        	<title>04.11.2008 20:35:05 sim0nsays</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/development/43905/#comment_1095153</guid>
			<link>http://habrahabr.ru/blogs/development/43905/#comment_1095153</link>
			<description><![CDATA[Холивора не видел. Что все зависит от требований и не всегда производительность приоритет — ну, в десятитысячный повторять не хочется, понимание читателя подразумевается.<br/>
<br/>
Тема низкоуровневой оптимизации как таковой — слишком широка, чтобы ее объять одним постом. Или даже книгой, или даже жизнью одного человека. Саттер вот про Memory Latency выступил, Ульрих написал монументальный труд про память как таковую.<br/>
<br/>
Поэтому я не очень понимаю, как можно целиком тему производительности раскрыть.<br/>
]]></description>
			<pubDate>Tue, 04 Nov 2008 20:35:05 GMT</pubDate>
			<author>sim0nsays</author>
		</item>
	
		<item>
        	<title>04.11.2008 19:16:55 deadshot</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/development/43905/#comment_1094928</guid>
			<link>http://habrahabr.ru/blogs/development/43905/#comment_1094928</link>
			<description><![CDATA[Вводная статья (обзорная) в архитектуру железок и проблему производительности приложений. Если автор хотел раскрыть тему производительности, то, думаю, этого не получилось. Только масса вопросов и домыслов родилась у всех… надо либо раскрыть до конца, либо не соваться в эту тему.<br/>
<br/>
Статья породила в комментариях (мне кажется) холи вар среди сторонников managed и unmanaged языков программирования. Одни ругают их за «обжорство» и говорят «ай да низкоуровневое программирование», другие — отстаивают, хвалят их за скорость разработки приложений. По мне так надо всегда выбирать между оптимизированным, вылизанным, быстрым приложением и скоростью его разработки. В первую очередь заказчику (в конечном счёте мы все пишем для какого-то заказчика) надо работающее (корректно, без багов) приложение и в срок. А уж во вторую очередь приложение оптимизированное. Сразу поймать двух зайцев не удастся, уж поверьте. И лучше получит сначала первое, потом второе.<br/>
<br/>
Кому действительно интересна тема низкоуровневой оптимизации тем рекомендую почитать вот эти вещи:<br/>
<a href="http://www.intel.com/intelpress/sum_soc.htm">The Software Optimization Cookbook</a><br/>
<a href="http://www.intel.com/intelpress/sum_swcb2.htm">The Software Optimization Cookbook, Second Edition</a><br/>
<a href="http://www.intel.com/intelpress/sum_vmmx.htm">The Software Vectorization Handbook</a><br/>
<br/>
Для оптимизации на многоядерных железках:<br/>
<a href="http://www.intel.com/intelpress/sum_mcp.htm">Multi-Core Programming</a><br/>
<a href="http://www.intel.com/intelpress/sum_ipp2.htm">Optimizing Applications for Multi-Core Processors</a><br/>
<br/>
Это, так сказать, отправная точка для тех, кому интересно. А вот «клубничка» — <a href="http://www.books-by-isbn.com/1-931769/1931769249-Code-Optimization-Effective-Memory-Usage-1-931769-24-9.html">Code Optimization: Effective Memory Usage</a> от Криса Касперского.]]></description>
			<pubDate>Tue, 04 Nov 2008 19:16:55 GMT</pubDate>
			<author>deadshot</author>
		</item>
	
		<item>
        	<title>04.11.2008 17:59:46 aib</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/development/43905/#comment_1094738</guid>
			<link>http://habrahabr.ru/blogs/development/43905/#comment_1094738</link>
			<description><![CDATA[В спарке есть счетчики циклов на каждом блоке, так что можно померить как кого грузили.]]></description>
			<pubDate>Tue, 04 Nov 2008 17:59:46 GMT</pubDate>
			<author>aib</author>
		</item>
	
		<item>
        	<title>04.11.2008 17:37:07 Mr_Floppy</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/development/43905/#comment_1094683</guid>
			<link>http://habrahabr.ru/blogs/development/43905/#comment_1094683</link>
			<description><![CDATA[А представьте как быстро .NET идет на КПК…]]></description>
			<pubDate>Tue, 04 Nov 2008 17:37:07 GMT</pubDate>
			<author>Mr_Floppy</author>
		</item>
	
		<item>
        	<title>04.11.2008 17:13:05 Fade</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/development/43905/#comment_1094646</guid>
			<link>http://habrahabr.ru/blogs/development/43905/#comment_1094646</link>
			<description><![CDATA[Процессор, ориентированный на мясо… (надо будет запомнить...) — как все универсальное: все делает, но хуже, чем узко-специализированные решения.]]></description>
			<pubDate>Tue, 04 Nov 2008 17:13:05 GMT</pubDate>
			<author>Fade</author>
		</item>
	
		<item>
        	<title>04.11.2008 16:48:58 beeruser</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/development/43905/#comment_1094621</guid>
			<link>http://habrahabr.ru/blogs/development/43905/#comment_1094621</link>
			<description><![CDATA[Какой такой подход? x86 в отличие от любых других современных процессоров может выполнять неоптимизированное мясо, коим являются 90% программ, с хорошей скоростью.]]></description>
			<pubDate>Tue, 04 Nov 2008 16:48:58 GMT</pubDate>
			<author>beeruser</author>
		</item>
	
		<item>
        	<title>04.11.2008 16:48:17 sim0nsays</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/development/43905/#comment_1094619</guid>
			<link>http://habrahabr.ru/blogs/development/43905/#comment_1094619</link>
			<description><![CDATA[Я готов и всегда рад разговаривать о вкусе устриц с кем-то, кто их давно и долго кушает. Где-то высказывались мнения людьми, лет 5 разрабатывающими под консоли?..]]></description>
			<pubDate>Tue, 04 Nov 2008 16:48:17 GMT</pubDate>
			<author>sim0nsays</author>
		</item>
	
		<item>
        	<title>04.11.2008 16:43:32 sim0nsays</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/development/43905/#comment_1094614</guid>
			<link>http://habrahabr.ru/blogs/development/43905/#comment_1094614</link>
			<description><![CDATA[Очень большой кеш — прямое следствие latency памяти. Уверенно пребывать в иллюзии быстрого доступа к памяти можно только если есть уверенность, что твой working set полностью в кеш влезает. Это вряд ли. Но большой кеш сглаживает степень падения, конечно :)]]></description>
			<pubDate>Tue, 04 Nov 2008 16:43:32 GMT</pubDate>
			<author>sim0nsays</author>
		</item>
	
		<item>
        	<title>04.11.2008 16:40:43 sim0nsays</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/development/43905/#comment_1094609</guid>
			<link>http://habrahabr.ru/blogs/development/43905/#comment_1094609</link>
			<description><![CDATA[FFT кстати отлично переписывается на регулярные доступы. Матричное умножение отдельными локальными блоками порядка размера кеша.<br/>
Вот тут показательный пример — <a href="http://lwn.net/Articles/255364/">lwn.net/Articles/255364/</a>]]></description>
			<pubDate>Tue, 04 Nov 2008 16:40:43 GMT</pubDate>
			<author>sim0nsays</author>
		</item>
	
		<item>
        	<title>04.11.2008 16:39:55 VovixLDR</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/development/43905/#comment_1094608</guid>
			<link>http://habrahabr.ru/blogs/development/43905/#comment_1094608</link>
			<description><![CDATA[PC, конечно, изрядно нагружен обратной совместимостью, его тормозит эта самая latency, но процесс геймдева на консолях тормозят гораздо больше высокоуровневых вещей: закрытость и коммерческий характер платформы, отсутствие «любительского» движения разработчиков (моддеров и т. п.), не успевающие за законом Мура маркетинговые циклы… поэтому я спокоен за ПК и даже не собираюсь покупать какую-либо консоль. (Давно что-то у нас не было холиваров на эту тему...:))]]></description>
			<pubDate>Tue, 04 Nov 2008 16:39:55 GMT</pubDate>
			<author>VovixLDR</author>
		</item>
	
		<item>
        	<title>04.11.2008 16:38:45 sim0nsays</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/development/43905/#comment_1094606</guid>
			<link>http://habrahabr.ru/blogs/development/43905/#comment_1094606</link>
			<description><![CDATA[Два кеш-мисса — это значит out of order должен предоставить инструкций на 400 тактов, то есть сотни. Это очень немало, их вполне может не найтись.<br/>
На самом деле, Hyper-Threading не в последнюю очередь был придуман затем, чтобы сглаживать такие простои. Пока один тред ждет на доступе к памяти, другой может выполняться. Но даже двух тредов мало, когда оба начинают генерировать стабильные кеш-миссы.]]></description>
			<pubDate>Tue, 04 Nov 2008 16:38:45 GMT</pubDate>
			<author>sim0nsays</author>
		</item>
	
		<item>
        	<title>04.11.2008 16:35:38 TheShade</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/development/43905/#comment_1094596</guid>
			<link>http://habrahabr.ru/blogs/development/43905/#comment_1094596</link>
			<description><![CDATA[К сожалению, существуют алгоритмы, которые принципиально обращаются к памяти нерегулярно, а то и непредсказуемо. Напишете реализацию FFT, которая обходит массив не через 2^k? ;)]]></description>
			<pubDate>Tue, 04 Nov 2008 16:35:38 GMT</pubDate>
			<author>TheShade</author>
		</item>
	
		<item>
        	<title>04.11.2008 16:34:58 sim0nsays</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/development/43905/#comment_1094593</guid>
			<link>http://habrahabr.ru/blogs/development/43905/#comment_1094593</link>
			<description><![CDATA[Все, как всегда, сложно. Процессорам на открытах платформах с обратной совместимостью — боюсь, придется играть в эти игры. Потому что а) людям не хочется шибко много думать, когда они пишут код и б) есть очень много уже написанного кода, который хочется запускать быстрее.<br/>
Действительно «прогрессивные» в этом плане скорее Cell и Larrabee.]]></description>
			<pubDate>Tue, 04 Nov 2008 16:34:58 GMT</pubDate>
			<author>sim0nsays</author>
		</item>
	
		<item>
        	<title>04.11.2008 16:31:56 sim0nsays</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/development/43905/#comment_1094589</guid>
			<link>http://habrahabr.ru/blogs/development/43905/#comment_1094589</link>
			<description><![CDATA[Дык эта, падонак-стайл. Я еще Оволон пишу, вместо WPF.]]></description>
			<pubDate>Tue, 04 Nov 2008 16:31:56 GMT</pubDate>
			<author>sim0nsays</author>
		</item>
	
		<item>
        	<title>04.11.2008 16:31:10 sim0nsays</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/development/43905/#comment_1094585</guid>
			<link>http://habrahabr.ru/blogs/development/43905/#comment_1094585</link>
			<description><![CDATA[Дык нет же. Раньше было совсем не так, вычисления были сравнимы с доступом в память. Ну комон, если раньше люди для того чтобы программа работала быстрее чаще пытались делать на сложение меньше, то теперь надо смотреть и думать о локальности памяти. Когда скорость доступа к памяти сравнима с обычной инструкций — вообще проблемы локальности не стоит.<br/>
<br/>
А вот когда она есть — тогда надо делать и out of order, и кешировать, и префетчить, и выбирать структуры данных.<br/>
<br/>
Мне кажется, если честно, у нас какое-то номиналистическое непонимание. Вы утверждаете «скорость доступа к памяти не увеличилась, ничего не поменялось». Я утверждаю «но на все остальное действовал закон Мура, и поэтому вес этого фактора принципиально возрос».<br/>
]]></description>
			<pubDate>Tue, 04 Nov 2008 16:31:10 GMT</pubDate>
			<author>sim0nsays</author>
		</item>
	
		<item>
        	<title>04.11.2008 16:25:20 sim0nsays</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/development/43905/#comment_1094581</guid>
			<link>http://habrahabr.ru/blogs/development/43905/#comment_1094581</link>
			<description><![CDATA[Мне скорее хочется процент утилизации железа. Насколько нагружены ALU, например.]]></description>
			<pubDate>Tue, 04 Nov 2008 16:25:20 GMT</pubDate>
			<author>sim0nsays</author>
		</item>
	
		<item>
        	<title>04.11.2008 16:24:25 sim0nsays</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/development/43905/#comment_1094579</guid>
			<link>http://habrahabr.ru/blogs/development/43905/#comment_1094579</link>
			<description><![CDATA[Ну, я знаю что-то о CUDA, мне по должности положено. На простые вопросы отвечу, за сложными лучше идти на специализированные форумы.]]></description>
			<pubDate>Tue, 04 Nov 2008 16:24:25 GMT</pubDate>
			<author>sim0nsays</author>
		</item>
	
		<item>
        	<title>04.11.2008 16:06:25 Ferroman</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/development/43905/#comment_1094552</guid>
			<link>http://habrahabr.ru/blogs/development/43905/#comment_1094552</link>
			<description><![CDATA[Лентяи говоришь?<br/>
А головой подумать? <br/>
Вы же, наверное, не лентяйничаете и не ездите в транспорте, а идёте пешком? <br/>
Всегда есть 2 стороны медали. <br/>
Скорость и минимальность нужна не везде и не всегда. Да, к тому же, за неё приходится платить.]]></description>
			<pubDate>Tue, 04 Nov 2008 16:06:25 GMT</pubDate>
			<author>Ferroman</author>
		</item>
	
		<item>
        	<title>04.11.2008 16:03:37 Shchvova</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/development/43905/#comment_1094548</guid>
			<link>http://habrahabr.ru/blogs/development/43905/#comment_1094548</link>
			<description><![CDATA[Разве не об этом Кнут не так давно говорил?]]></description>
			<pubDate>Tue, 04 Nov 2008 16:03:37 GMT</pubDate>
			<author>Shchvova</author>
		</item>
	
		<item>
        	<title>04.11.2008 16:02:57 egorinsk</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/development/43905/#comment_1094547</guid>
			<link>http://habrahabr.ru/blogs/development/43905/#comment_1094547</link>
			<description><![CDATA[Java и NET (пока что) место на сервере, а не на десктопе. <br/>
<br/>
Множество программ, начаная с классических winRAR/winAMP/foobar2000 и так далее написаны без всего этого и замечательно работали/работают.<br/>
<br/>
А тенденция использовать упомянутые технологии меня, как пользователя, не радует (а линусоидам еще хуже, там вообще пытаются к скриптовым языкам прикручивать Gtk, надеюсь вы и сами понимаете, какой ужас в результате полуается).]]></description>
			<pubDate>Tue, 04 Nov 2008 16:02:57 GMT</pubDate>
			<author>egorinsk</author>
		</item>
	
		<item>
        	<title>04.11.2008 15:57:44 TheShade</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/development/43905/#comment_1094538</guid>
			<link>http://habrahabr.ru/blogs/development/43905/#comment_1094538</link>
			<description><![CDATA[(вкрадчиво) Да-да, только GUI на ассемблере нас спасут, так? :)<br/>
<br/>
Всему своё место — не нравится производительность Java/.Net, сервисных библиотек типа Qt/GTK? Так, пожалуйста, занимайтесь их разгоном, исходный код есть, голова есть. Времени нет? А на GUI на ассемблере время есть? ;)]]></description>
			<pubDate>Tue, 04 Nov 2008 15:57:44 GMT</pubDate>
			<author>TheShade</author>
		</item>
	
		<item>
        	<title>04.11.2008 15:16:22 egorinsk</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/development/43905/#comment_1094486</guid>
			<link>http://habrahabr.ru/blogs/development/43905/#comment_1094486</link>
			<description><![CDATA[Вот, наконец-то поднимают эту тему! Сегодня проблемой десктопных приложений еще и становится то, что лентяи-программисты используют либо языки вроде явы/дотнета, либо библиотеки вроде Qt, которые, кроме всего прочего, отличаются непомерным большим потреблением памяти, в результате чего (я подозреваю) происходит намоного больше обращений к RAM так как эти монстры просто физически не могут поместиться в кеш.<br/>
<br/>
Кроме, того в ООП-библиотеках использутся многократное наследование, на каждом этапе в класс добавляются новые поля, в результате чего экземпляр класса занимает достаточно много места в памяти, и если многие поля не используются, то они все равно вытягиваются в кеш и отнимают там местло, так как все хранятся рядом.]]></description>
			<pubDate>Tue, 04 Nov 2008 15:16:22 GMT</pubDate>
			<author>egorinsk</author>
		</item>
	
		<item>
        	<title>04.11.2008 14:51:27 sergehog</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/development/43905/#comment_1094450</guid>
			<link>http://habrahabr.ru/blogs/development/43905/#comment_1094450</link>
			<description><![CDATA[спасибо за SSE, буду изучать. <br/>
А есть ли здесь знатоки/любители CUDA ??]]></description>
			<pubDate>Tue, 04 Nov 2008 14:51:27 GMT</pubDate>
			<author>sergehog</author>
		</item>
	
		<item>
        	<title>04.11.2008 13:25:00 merlin_rterm</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/development/43905/#comment_1094256</guid>
			<link>http://habrahabr.ru/blogs/development/43905/#comment_1094256</link>
			<description><![CDATA[В программе top в линухе есть такое поле — wa. Оно вроде как означает «waiting for IO» — процент времени, который проц проводит в ожидании ответа, не выполняя полезной работы. Ощутимо подскакивает во время плотного взаимодействия с диском — своппинг, например…<br/>
<br/>
Ваш оффтоп — не из этой серии?]]></description>
			<pubDate>Tue, 04 Nov 2008 13:25:00 GMT</pubDate>
			<author>merlin_rterm</author>
		</item>
	
	
	
	
</channel>
</rss>
