1.1, greyork (??), 23:24, 31/03/2006 [ответить]
| +/– |
Кто-нибудь может толково (пожалуйста) объяснить - почему переписывают критичные к скорости обработки данных приложения с C на C++ ? Я не программист на C/C++, но в примерах из книги "Практика программирования" Б. Кернигана и Р. Пайка все программы на C++ показывали худшее быстродействие, чем программы на C (часто - значительно худшее). | |
|
2.2, Anonim (?), 23:53, 31/03/2006 [^] [^^] [^^^] [ответить]
| +/– |
В этом нет технических причин, ибо на Си++ толковый программер напишет никогда не лучше, чем на Си. Здесь социально-экономические причины.
Софт развивать нужно, а на Си уже только мастодонты вымирающие писать могут. Читать еще туда-сюда, а вот писать... Извольте. Получается, что если прогу на более "дружелюбном" языке не перепишешь, то она просто умрет за неимением обновлений. Вот и весь смысл. | |
|
3.5, Мартышкин (??), 22:50, 01/04/2006 [^] [^^] [^^^] [ответить]
| +/– |
ПРЕЖДЕ всего потому, что это он ОБЪЕКТНЫЙ.
И позволяет перенести разработку проекта в CASE моделер.
Но кульхацкерам сие в голову, кажется, просто не приходит? | |
|
2.7, kleptos (?), 12:45, 02/04/2006 [^] [^^] [^^^] [ответить]
| +/– |
всё сильно зависит от компилятора, да и от авторов тоже, некоторые реализации цепей маркова вообще глупы и недальновидны.
так что врят-ли это точное мерило скорости языков | |
|
1.3, Аноним (-), 10:47, 01/04/2006 [ответить]
| +/– |
Под дружелюбными ты наверное подразумеваешь бейсик или паскаль ? :)
Что касается 'C' то он значительно проще любого C++, потому и популярен. Если же проект пишут несколько команд, то гораздо эффективнее использовать C++. Что касается быстродействия, то простые функции будут быстрее работать на простом 'C', покуда произодители процессоров не придумают ассемблерную команду, которая позволяла бы быстро работать с исключениями C++. Или вы думаете что эта простая фишка дается даром ? | |
|
2.6, TTT (?), 10:21, 02/04/2006 [^] [^^] [^^^] [ответить]
| +/– |
C прерываниями глупость какая-то я почти уверен компиляторами используются встроенные в процессор команды для их обработки или в крайнем случае это условные переходы (может быть несколько).
основная проблемя и поинтерах типа this я вот помнится несколько лет назад тестировал на нескольких компиляторах вынос вычислительных и часто вызываемых функций класса использующих только несколько переменных класса наружу (в глобальный скоп) так они начинали работать на 40-50% быстрее. Хотя с тех пор многое может быть и изменилось, но я сомневаюсь. | |
2.8, йцукен (?), 23:11, 04/04/2006 [^] [^^] [^^^] [ответить]
| +/– |
gcc например ассемблерный код "hello world" для режима C++ генерирует немного страшнее чем на С. Правда я не помню но если из -fno-exceptions то ситуация получше. причем это только из функцией printf, а если cout << "hello world\n", то страшно и смотреть.
А ведь это только самое простое! А исключения заключаются в том что компилятор сам проверяет (то есть вставляет лишний код) то что програмер не делает через стандартные методы проверки, вот и ресурсы, так что одной командой не обойтись, увы.
| |
|
|