Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Оптимизация на низком уровне 
:(
    Опции темы
Stern87
  Дата 18.6.2009, 04:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 27.11.2007
Где: Украина

Репутация: нет
Всего: нет



Загорелся переводом проектов с Delphi (работаю в Delphi 7) на С++ (работаю в С++ Builder 6).
И к своему удивлению обнаружил, что алгоритмы выполняются в среднем на 20% медленее, чем на Delphi.
На Delphi использую доп. библиотеки такие как FastMM4, FastMove, FastCode. Это библиотеки, которые заменяют часть стандартных функций на их оптимизированные asm-аналоги. Без них, безусловно, Delphi будет далеко позади от С++.

Но интересует, есть ли соответствующие или похожие библиотеки для проектов на С++.
И, если можно, приведите дополнительные рекомендации по тонкой оптимизации кода С.

Огромное спасибо.
PM WWW ICQ Skype   Вверх
mrbrooks
Дата 18.6.2009, 08:09 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 167
Всего: 306



Цитата(Stern87 @  18.6.2009,  04:21 Найти цитируемый пост)
Но интересует, есть ли соответствующие или похожие библиотеки для проектов на С++.

А что конкретно эти дельфяцкие библы делают? 


Цитата(Stern87 @  18.6.2009,  04:21 Найти цитируемый пост)
И, если можно, приведите дополнительные рекомендации по тонкой оптимизации кода С.

О какой оптимизации идет речь? Все что нужно оптимизирует компилятор, с галочкой в настройках.
PM MAIL   Вверх
Stern87
Дата 18.6.2009, 23:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 27.11.2007
Где: Украина

Репутация: нет
Всего: нет



Цитата(mrbrooks @ 18.6.2009,  07:09)
А что конкретно эти дельфяцкие библы делают?
Отвечу цитированием вступления этого сайта
Цитата
The Fastcode project provides highly optimized functions for the Delphi community. Functions are faster versions of Delphi runtime library functions, VCL functions or functions meant as extensions for these. The project is running on a volunteer basis.

Functions can be written in assembler and use all the modern instruction sets, MMX, SSE, SSE2, SSE3, 3DNOW and 3DNOW+. We provide functions optimized for all modern processors and also versions that will run at all older processors. On the library page there are units available with all functions (currently more than 300) to download for free.
По сути там открыто много соревнований по совершенствованию тех или иных функций.
Главный портал проекта

Цитата(mrbrooks @ 18.6.2009,  07:09)
О какой оптимизации идет речь? Все что нужно оптимизирует компилятор, с галочкой в настройках.
Это да. Вот только "Speed" у меня вызывает Access Violation, а в остальном ускорения (завершения выполнения алгоритма) не наблюдается.
PM WWW ICQ Skype   Вверх
W4FhLF
Дата 19.6.2009, 05:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 2
Всего: 121



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


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
mrbrooks
Дата 19.6.2009, 08:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 167
Всего: 306



Stern87, влом по ссылкам ползти - нет что бы тут в кратце описать.  smile 
А это:
Цитата

The Fastcode project provides highly optimized functions for the Delphi community. Functions are faster versions of Delphi runtime library functions, VCL functions or functions meant as extensions for these. The project is running on a volunteer basis.

Functions can be written in assembler and use all the modern instruction sets, MMX, SSE, SSE2, SSE3, 3DNOW and 3DNOW+. We provide functions optimized for all modern processors and also versions that will run at all older processors. On the library page there are units available with all functions (currently more than 300) to download for free.

просто декларация намерений. Типа какие мы кайфовые пацаны. Ничего конкретного.

W4FhLF, вы убийца дебилдера  smile Конечно можно спорить, отсылать к С++ Builder 2009, где ситуация, мягко говоря иная по сравнению с шестой версией, но это уже скатимся к холивару. Билдер заточен для некоторых известных задач, и заточен хорошо. К сожалению - этого не понимают новички - и пишут на нем все подряд. И чОООрт знает знает как.
PM MAIL   Вверх
Alca
Дата 19.6.2009, 09:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3993
Регистрация: 14.6.2006

Репутация: 25
Всего: 50



Цитата

Юзай компилятор от MS или Intel

Stern87, а ты сделай три проекта Delphi, С++Builder, Visual C++ с теми функциями, которые ты хочешь использовать и замерь скорость исполнения кода. Тогда все вопросы отпадут сами собой.


--------------------
PM WWW ICQ Skype Jabber   Вверх
mrbrooks
Дата 19.6.2009, 10:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 167
Всего: 306



Цитата(Alca @  19.6.2009,  09:04 Найти цитируемый пост)
Visual C++ с теми функциями, которые ты хочешь использовать 

ага. я представляю, как автор будет прикручивать к студии 
Цитата(Stern87 @  18.6.2009,  04:21 Найти цитируемый пост)
доп. библиотеки такие как FastMM4, FastMove, FastCode
 и предвкушаю результат.

PM MAIL   Вверх
Alca
Дата 19.6.2009, 10:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3993
Регистрация: 14.6.2006

Репутация: 25
Всего: 50



Цитата

Visual C++ с теми функциями, которые ты хочешь использовать 

Я имею ввиду  CRT-шные

Добавлено через 1 минуту и 55 секунд
Цитата

Functions are faster versions of Delphi runtime library functions


Добавлено через 14 минут и 35 секунд
mrbrooks, пусть сравнит аналоги CRT-шных функуций в Delphi, С++Builder, Visual C++. 




--------------------
PM WWW ICQ Skype Jabber   Вверх
Stern87
Дата 19.6.2009, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 27.11.2007
Где: Украина

Репутация: нет
Всего: нет



Ребята, спасибо за ответы.

Я вас правильно понял: для начала неплохо бы перейти от СррВ6 на СррВ2009?
PM WWW ICQ Skype   Вверх
mrbrooks
Дата 19.6.2009, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 167
Всего: 306



Цитата(Stern87 @  19.6.2009,  14:08 Найти цитируемый пост)
Я вас правильно понял: для начала неплохо бы перейти от СррВ6 на СррВ2009? 

однозначно smile 
PM MAIL   Вверх
Stern87
Дата 20.6.2009, 21:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 27.11.2007
Где: Украина

Репутация: нет
Всего: нет



Был у меня под рукой CppB2007. Решил всё проверить на нём.
В итоге только сильнее разочаровался.
Вместо (к примеру) 700 секунд на выполнение затрачивается около 1100 (В настройках был "Speed", без него чуть-чуть больше) smile
PM WWW ICQ Skype   Вверх
W4FhLF
Дата 21.6.2009, 06:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 2
Всего: 121



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


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
Stern87
Дата 22.6.2009, 00:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 27.11.2007
Где: Украина

Репутация: нет
Всего: нет



Хорошо конечно. Но что таки тогда делать мне? Конкретно.
PM WWW ICQ Skype   Вверх
dumb
Дата 22.6.2009, 01:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 32
Всего: 158



Цитата(Stern87 @  22.6.2009,  01:33 Найти цитируемый пост)
Но что таки тогда делать мне? Конкретно. 

для конкретного ответа не хватает конкретики в вопросе. либо показывай код, либо рассказывай подробно, что он, собственно, делает и как.
PM MAIL   Вверх
Stern87
Дата 22.6.2009, 02:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 27.11.2007
Где: Украина

Репутация: нет
Всего: нет



Ух. Ну как мне привести код всех своих проектов??

Скажите, раз Borland C++ херня, то на чём кодить?
PM WWW ICQ Skype   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0793 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.