![]() |
|
Модераторы: bsa |
![]()
|
|
| mes |
|
||||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
такой способ (если конечно ручная доводка необходимa) также присутствует в данной цитате :
Это сообщение отредактировал(а) mes - 10.12.2008, 17:12 |
||||
|
|||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 6 Всего: 26 |
а всетаки программирование на асме ничуть не медленнее программирования на С++, даже быстрее с учетом времени создания нового проекта и компиляции. опять же на .ехешку в 1кб смотреть приятно
|
|||
|
||||
| J0ker |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 986 Регистрация: 17.9.2008 Репутация: 9 Всего: 14 |
тесты показывают, что как только задача сталкивается с реальностью многоядерного процессора, то только гений может оптимизировать код лучше компилятора Добавлено через 1 минуту и 24 секунды
мешает, мешает см. выше |
|||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 6 Всего: 26 |
J0ker, здравый смысл подсказывает что кодогенератор твоего компилятора тоже люди писали, написать менее универсальный но более эффективный не проблема
|
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
если программа для решения мелкой задачи то трудно оценить.. А вот например составить браузер или тот же самый компилятор ? думаю мало кто из программистов отважится затеять такой проект на асме , хотя "герои" безусловно есть ) |
|||
|
||||
| J0ker |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 986 Регистрация: 17.9.2008 Репутация: 9 Всего: 14 |
||||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
Да существует куча компиляторов, некоторые заточны под универсальность, другие под конкретную архитектуру и можно выбрать тот, который больше подходит Это сообщение отредактировал(а) mes - 10.12.2008, 17:29 |
|||
|
||||
| J0ker |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 986 Регистрация: 17.9.2008 Репутация: 9 Всего: 14 |
только не в пример нам лучше знающие особенности процессоров - это во-первых во-вторых, логика распараллеливания настолько сложна, что даже люди из во-первых не в состоянии оптимизировать более-менее сложный код - они для этого написали умную программу, которая это делает - она называется компилятор Добавлено через 1 минуту и 18 секунд с первым согласен со вторым нет - для более-менее сложного кода - см.выше Добавлено через 9 минут и 18 секунд я много раз сталкивался с подобными спорами и если лет 10 назад еще можно было показать, что программа, написанная на ассемблере более производительна, то как только появились многоядерные процессоры, это стало практически невозможно - разборы полетов показали, что компилятор может раскидать инструкции так, что они хорошо параллелятся - при этом логика оказывается настолько сложна, что ни один человек не в состоянии такое написать, а якобы бессмысленные с т.з. человека операции (например замена одного оператора парой других, выполняющихся заведомо медленней) приводит к повышению производительности - что обусловлено опять-таки распараллеливанием |
|||
|
||||
| Kallikanzarid |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 240 Регистрация: 9.11.2008 Репутация: 2 Всего: 3 |
Ты имел ввиду конвеерные суперскалярные процессоры? А то применительно к мультиядерности ты написал хню |
|||
|
||||
| J0ker |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 986 Регистрация: 17.9.2008 Репутация: 9 Всего: 14 |
||||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 6 Всего: 26 |
J0ker, береш справочник Агнера Фога, и пишешь код не хуже того что генерит компилятор. Компилятор хорош тем что избавляет от рутины за счет неидеальной кодогенерации и отсутствия средств управления кодогенерацией
Может там и будет офигенное распараллеливание, но вот идиотские неоптимальности типа push reg32 / fld dword [m32real] / fstp dword [esp] вместо push dword [m32real] всеравно останутся |
|||
|
||||
| Kallikanzarid |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 240 Регистрация: 9.11.2008 Репутация: 2 Всего: 3 |
GoldFinch, пользуясь случаем, еще раз предлагаю тебе второй раунд. Докажи, что асм-код для FP или целочисленных вычислительных методов и правда выполняется быстрее компилируемого. Все, что тебе нужно сделать - это выбрать адекватный алгоритм и написать ее реализацию, которая работала бы быстрее моей на С++.
|
|||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 6 Всего: 26 |
Kallikanzarid, выложи свой бинарник я его оптимизирую и "мой" код будет работать быстрее.
Если говорить о сравнении различных реализаций, то все упрется в то чье программерское мастерство лучше, так я и на С++ напишу код быстрее твоего ^^ |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
заочно оценили ? чудеса |
|||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 6 Всего: 26 |
mes, ага, с доверительной вероятностью 95%
|
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |