где требуются спецы по оптимизации ?

Тема в разделе "WASM.HEAP", создана пользователем Guru_of_Zen, 11 авг 2010.

  1. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    Линейная сортировка, сортировка подсчётом.
     
  2. W4FhLF

    W4FhLF New Member

    Публикаций:
    0
    Регистрация:
    3 дек 2006
    Сообщения:
    1.050
    Booster, линейная ассимтотика и эффективность сортировки подсчётом справедливы только для частных случаев. Что такое линейная сортировка не знаю, не слышал.
     
  3. qqwe

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
    W4FhLF
    э, нет. 200 обращений к подряд идущим ячейкам пройдут быстрее, чем к 100 разбросанным. хотя, почему к 200? к 500.

    любой вызов функции/переход на непрокэшированный код даст неслабую задержку. отбросив явно очевидные, небольшой пример:

    class A{
    ......
    };

    int foo(){
    A a;
    .......
    }

    компилер на входе вызовет аллокер из хипа для A, а на выходе фри для него. обе неслабо тормозные.

    я не говорю про манеру С+ делать все обращения в 2 и больше обращения к памяти (не, можно, конечно подобрать пример, где это съоптимизировалось).

    впрочем, для стандартного ++вика это вещи неизвестные. стало быть неважные. .нет все равно медленнее на 3 порядка.

    кроме того, как вы предлагаете притирать алгоритмы к кэшу не зная подробностей железа? я уже молчу про то, что шаблонный ++вик даже близко не может представить во что превратит компилер его код. он вынужден надеяться и верывать, периодически читая проповеди на разных васмах/пасах, изгоняя бесов-асмеров и прочие аттрибуты религии-самовнушения.

    я писал. как сравнивать будем? вы в свое время сбежали от хэш таблиц на асме не начав. и небольшая то сумма была.
     
  4. zicker

    zicker Member

    Публикаций:
    0
    Регистрация:
    23 дек 2008
    Сообщения:
    132
    Плюсы почти никуда не портированы, в отличие от чистого С и асма. Так что сравнивать не с чем. А к примеру под мои задачи (поточное шифрование ассиметричными алгосами) все библиотеки для ЯВУ "кривоватые" и ооооочень медленные.
     
  5. not1

    not1 Member

    Публикаций:
    0
    Регистрация:
    6 окт 2009
    Сообщения:
    137
    хз в моем понимание оптимизация кода это что-то вроде этого+)
    вместо неоптимизированного...
    можете привести еще пример? не с классами...
     
  6. Enterado

    Enterado New Member

    Публикаций:
    0
    Регистрация:
    25 дек 2008
    Сообщения:
    99
    Ладно, хлопцы, посмотрим на реалии: самые требовательные к железу программы -- это игры. То, что чем больше по размеру, и чем медленнее игра -- тем лучше -- это бред, ни один юзер такую игру не купит и даже не скачает с торрентов (точнее -- разочаруется), если текущее железо не может её прохавать. Игровые движки оптимизируются, настолько, насколько возможно. Посмотрите на Близзард с его новым старкрафтом -- да, графика в движке не ахти, но её тянет практически любое железо. Так вот, все движки для игр разрабатываются сейчас на крестах (с++). Только потому, что это -- оптимальный вариант. Асм просто необходимо знать. Для понимания. Но, что бы там ни говорили, без ООП, которое присутствует в плюсах, но нет в чистом си и асме, реальный коммерческий проект (т.е. приносящий прибыль == доход - стоимость разработки) просто невозможен. Да, и на асме и на чистом си можно написать то же самое, но займёт это в 10 раз, а то и больше времени, а саппорт -? (если команда поменялась, пришли новые люди), а портирование на другие платформы -? (в случае с асмом). Просто, с точки зрения главного разработчика такая оптимизация экономически нецелесообразна. Игра не стоит свеч. И этим всё сказано. Причём, тулзы для тех же игр, которые не требуют супер-производительности в реал-тайме (напр. эдиторы там какие-нибуть) разрабатывают на с-шарп, просто потому, что это намного быстрее именно для реализации. Тот же, GTA-4, переписав его на асм для пс-платформы -- так он бы просто летал, но... вышел бы на пару (а то и больше) лет позже и не имел бы уже успеха. Всегда соизмеряется полученный доход / вложенные средства.
     
  7. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    С чего бы это? Ещё один сказочник.
     
  8. qqwe

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
    not1
    для первого случая

    for(j = k; a[j] = --j; );

    для второго - практически любой вызов функции, хотя тут есть нюансы.
     
  9. qqwe

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
    Enterado
    почему вы так решили?
     
  10. Enterado

    Enterado New Member

    Публикаций:
    0
    Регистрация:
    25 дек 2008
    Сообщения:
    99
    qqwe это не я решил ;) Это так и есть. :)
    Booster Какой нах сказочник? ГТА-4 изначально разрабатывался под консоли, на ПС его только портировали. Это одна из самых высокобюджетных игр за всю историю.
     
  11. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    Чукча не читатель, чукча писатель?
     
  12. Enterado

    Enterado New Member

    Публикаций:
    0
    Регистрация:
    25 дек 2008
    Сообщения:
    99
    Ну да, почитайте: http://gta.ag.ru/gta4/ для общей эрудиции :) . Приведу цитату:
     
  13. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    Enterado
    Точно писатель. Зачем мне это читать? ^)
     
  14. Enterado

    Enterado New Member

    Публикаций:
    0
    Регистрация:
    25 дек 2008
    Сообщения:
    99
    Booster
    Ну так, получается точно писатель (типо чукча :)), так это вы, раз вам лень прочитать три строчки пруфлинка :). Без обид, я пишу только о том, что знаю и могу подтвердить.
     
  15. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    Enterado
    Вы прежде чем ответить, читаете о чём вас спрашивают? ^)
    http://wasm.ru/forum/viewtopic.php?pid=392470#p392470
     
  16. qqwe

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
    Enterado
    как и есть? и где? и сколько? и в сравнении с чем? или вообще глобально?
     
  17. W4FhLF

    W4FhLF New Member

    Публикаций:
    0
    Регистрация:
    3 дек 2006
    Сообщения:
    1.050
    qqwe
    Уважаемый qqwe, что такое memory coalescing я знаю. Рад, что вы тоже знаете и блеснули своими знаниями. Я оценил.
    Это подразумевалось под словами "эффективная работа с кешем и памятью", которые были в первой части выдранного вами из контекста предложения.

    Избавьте меня от подобных комментариев или ещё лучше цитирования моих постов. Спасибо.
     
  18. qqwe

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
    W4FhLF
    не, не блеснул. я не знаю что такое "memory coalescin". и вообще, у меня плохо с нажиманием стрл+шифт ради красногос ловца.

    приведу полностью
    далее вы там опять нахваливаете себя и свои творения, которые никто не видел.
    http://wasm.ru/forum/viewtopic.php?pid=392347#p392347

    кстати, если перед обработкой со многими разбросанными обращениями данные сперва считать и затолкать в стек, а потом работать с теми, что в стеке, то дело пойдет значительно веселее, хотя обращений к памяти даже возросло. только как вы все это будете знать только презрительно фыркая со стороны шаблонов и "вумного" компилера?

    (слово "эффективная", не говорит ничего, тк это оценка, а не образ действий.)

    повторюсь
    э, нет. не выйдет. это не ваш личный блог. это даже не форум по С++ или .нету (вроде, вы не так давно и за .нет пальцы гнули. мол, он быстрее самого машкода, бо вам так аффторитетные людья сказали)

    впрочем, есть способ. вы просто меньше напрягайтесь с мишурой и самохвалениями в ваших постах и больше уделяйте внимание смысловой части в плане уменьшения к-ва дыр. например, про гпу у вас неплохо выходило (а может, я просто не имел пока дела с им?).

    знаете, когда павлин распускает хвост, он не видит, что делается сзади. а сзади его голый зад. и можно подойти тихонько и отыметь его. (народная мудрость в пересказе)

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

    впрочем, вы сбежите. побоитесь, что вас с вашей горы стянуть могут.

    пожалуйста
     
  19. W4FhLF

    W4FhLF New Member

    Публикаций:
    0
    Регистрация:
    3 дек 2006
    Сообщения:
    1.050
    Это следствие теоремы о сложности алгоритма. Найдёте её в любой книге по анализу алгоритмов.

    Всё остальное остаётся за кадром как не несущий смысла эмоциональный набор букв. Я не люблю спорить с занудами, а вы мне ничего нового дать не можете в плане знаний, поэтому идите рассказывайте что и как делать другим товарищам. Я правда не нуждаюсь, ну правда :)
     
  20. qqwe

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
    W4FhLF
    да нет, это просто съезд и нежелание отвечать за свои слова. впрочем, я предвидел, что вы поступите именно так и выделил этот момент отдельной строкой выше.
    не, все остается за кадром потому что (цитата, см выше)
    зануды это те кто не спешит восторгаться вашими одами себе любимому? или кто позволяет себе критически взглянуть на ваши частые заявки, что все дураки - один вы чaпaев?
    когда такое говорит клерк - ему это можно простить, тк он приводит также код и прочую конкретику.
    когда это говорите вы, человек который еще недавно волосы на груди рвал, что .нет быстрее всех и утверждал, что игровая логика пишется на С++, извините, это не звучит.
    дык а вы тут при чем? топик ваш? вы вопрос задавали? вы на вопрос ответили как нибудь. я вас поправил.


    2ТС
    востребованность рафинированых специалистов по оптимизации не очень большая, тк задача съоптимизировать и все возникает редко. обычно, ищутся более универсальные специалисты и чистый оптимизатор будет искаться только в том случае, если результаты универсала категорически не будут устраивать.
    где это требуется - много говорилось о замечательности оптимизаторов компилеров. а как вы думаете - откуда компилеры знают как оптимизировать? существуют и более мелкие задачи связанные с кодогенерацией. и там требуется оптимизация.
    но, если вы хотите заниматься этим, нужен архив работ, портфолио, участие в проектах, статьи. чтобы люди могли увидеть, что вы действительно можете то чего им требуется.