The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Компания Intel создаёт в Китае центр разработки для платформ..."
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Присылайте удачные настройки в раздел примеров файлов конфигурации на WIKI.opennet.ru.
. "Компания Intel создаёт в Китае центр разработки для платформ..." +2 +/
Сообщение от pavlinux (ok), 14-Апр-11, 02:41 
>> А действительно, зачем?
> ... но они упорно предпочитают вбивать гвозди микроскопом х86

  Трахать надо не чиподелов, а программеров, ибо они разжирели -
столько добра понапихали в проц - MMX, SSE, SSE2, SSE3,SSE4, AVX,
и всё это удовольствие от 2 вплоть до 6ГГц.  А они пля...
  Браузер 2 секунды грузится, Венда как минуту, на 386DX-2 в 95
году грузилась, так и в 2011 на Core i7 c 16 потоками.
  А чё изменилась? Да них..я, как и в 95 народ пёрся от "суперреалистичной"
графики в  Quake 1, на Trident c 1 Mб VRAM, так и сейчас пруться
от Call of Duty на Nvidia Fermi c 4 Gb DDR5. MS Word как тормозил везде,
так и тормозит, а что изменилось, да тоже ничего, юзер стал вместо
20 популярных функций Ворда использовать 25.
Это достижение 16 лет работы MS - Тормозим как всегда, глючим испокон веков,
стоим ещё больше, умеем так же, только "теперь банановый", тфу, теперь с SSE/3DNOW,
многотредовый и надо 2 Gb RAMы.

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

Программеры тоже хороши, вместо того чтоб подумать час на циклом, пихают:

if ( a = 11 ) {  while( b < 1024) { my_func(a, b + a); b++; }}
if ( a = 16 ) {  while( b < 1024) { my_func(a, b - a); b++; }}
if ( a = 19 ) {  while( b < 1024) { my_func(a, b + a); b++; }}
if ( a = 21 ) {  while( b < 1024) { my_func(a, b + a); b++; }}
if ( a = 34 ) {  while( b < 1024) { my_func(a, b - a); b++; }}
if ( a = 55 ) {  while( b < 1024) { my_func(a, b + a); b++; }}
if ( a = 72 ) {  while( b < 1024) { my_func(a, b - a); b++; }}
if ( a = 91 ) {  while( b < 1024) { my_func(a, b + a); b++; }}

Работает? Работает! Правильно? Правильно! Дай денег, пойду бухать! На, пиз...уй!

Вот вы тоже задумаетесь, вроде 11, 15, 19, 21, 24, 37, 47, 99 - в диапазоне от 0 до 100 никакой
закономерности в этом ряде нет, и даже иногда интерполяция порой не спасает.
Тогда и надо задуматься о природе этих чисел. В естественном мире они могут быть только от
генератора сл. чисел. Но для обработки результатов генератора не используют линейные алгоритмы.

Но кто-то ужо заметил, то что нечётная (а) складывается с (b) в my_func().

#define sign(x) (x > 0 ? 1 : -1)

if ( a % 2 ) {      
       while( b < 1024)  {
           my_func(a, b + a*sign(a % 2));
       b++;
      }
  }

---
дальше понимаем, что if ( a % 2 )  ваще нах. не нужен.

   while( b < 1024)  {
           my_func(a, b + a*sign(a % 2));
       b++;
   }

---

Дальше вспоминаем, что у на 8-ядреный проц.

И распердюливаем этот while по процам:

int cpu = 8;

#pragma omp parallel shared(a, cpu) private(b)
{
#pragma omp while schedule(dynamic, cpu)
   while( b < 1024)  {
           my_func(a, b + a*sign(a));
       b++;
   }
}

// как-то так...

Итого: при a = 91, экономим 7 if_ов и 896 циклов простоя.

----

А ты всё интел говно, интел говно...  Люди говно -  жрать хотят ничего не делая.

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Компания Intel создаёт в Китае центр разработки для платформ..., opennews, 13-Апр-11, 14:56  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру