My favorites | Sign in
Project Home Wiki Issues Source
READ-ONLY: This project has been archived. For more information see this post.
Search
for
  Advanced search   Search tips   Subscriptions
Issue 5: Выяснить, что быстрее: вызов функции через call или без него.
1 person starred this issue and may be notified of changes. Back to list
Status:  Fixed
Owner:  kainov.o...@gmail.com
Closed:  Sep 2011
Cc:  lart...@gmail.com, kainov.o...@gmail.com


 
Reported by kainov.o...@gmail.com, Sep 20, 2011
По результатам "исследования" выяснилось, что вызов без call ужасно медленный.
Пример: усреднение через call 300*60000 занимает примерно 63-68 мсек\усреднение, а без него массив 300*6000 усредняет по 3.2 секунды.
Itlab_arbb_test-100iter-call.rar
30.3 KB   Download
Itlab_arbb_test-100iter-no_call.rar
24.8 KB   Download
Oct 19, 2011
Project Member #1 valentin...@gmail.com
Олег, выложите текущие графики сюда, чтобы не потерялись. К графикам естественно необходимы небольшие комментарии и объяснения эффектов (2-3 предложения).
Cc: lart...@gmail.com kainov.o...@gmail.com
Oct 21, 2011
#2 kainov.o...@gmail.com
Ну что сказать... Наверное, параллельная таки быстрее, потому что она параллельная. По памяти одинаково, т.к. задача одна и та же (Без call памяти больше, думаю, по тем же причинам, что и время). А насчет вызова без call написано тут http://software.intel.com/ru-ru/blogs/2011/09/22/array-building-blocks-2/
Вкратце:
>Таким образом, если в приложении встречается вызов arbb::call(), ArBB берет на себя контроль над вычислениями, а по завершении контроль возвращается к самому приложению.
Дальше идет специфика. «Фишка» ArBB наличии собственной среды исполнения, которая осуществляет динамическую компиляцию с оптимизацией под текущую платформу во время исполнения. Таким образом, первая фаза компиляции - это собственно компиляция С++ кода в исполняемый файл, а вторая - во время работы приложения. Для этого в составе ArBB runtime есть JIT (Just In Time) компилятор, генерирующий бинарный код для исполнения конкретной операции с учетом количества ядер, поддерживаемых процессором SIMD инструкций (SSE, AVX) и т.д.
exps.rar
1.7 MB   Download
Nov 18, 2011
#3 kainov.o...@gmail.com
Вставил новые результаты, точь-в-точь не сошлись, н отеперь отклонение не такое страшное.
Graphs.rar
1.5 MB   Download

Powered by Google Project Hosting