Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Почему тормозит C++?
|
|||
|---|---|---|---|
|
#18+
^__^, Ну у меня Athlon ~1.9GHz RAM: 768mb. Кинь код на ява - могу протестить на своей машине. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2009, 00:57 |
|
||
|
Почему тормозит C++?
|
|||
|---|---|---|---|
|
#18+
clihltСиПиПи, И еще скажи.. вот если .NET такой весь из себя оптимальный, так почему Microsoft написала SQLSERVER 2005 ( покрайней мере сам екзешник службы ) на C++ ( или С ) ? И самое интересное - шустрый компилятор шарпа csc.exe тоже написан на C++( C ), а не на .NET языках. ну изначально-то он плюсах был написан. а раскручивать нах.. нужно. но C++ говно по определению, а пейсали на нем только потому что вынуждены были пейсать и не более того. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2009, 01:00 |
|
||
|
Почему тормозит C++?
|
|||
|---|---|---|---|
|
#18+
clihlt, Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. Запускал с параметрами -Xms512m -Xmx512m ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2009, 02:35 |
|
||
|
Почему тормозит C++?
|
|||
|---|---|---|---|
|
#18+
Это всё "грязные" эксперименты. В java насколько мне известно, память устроена как лента транспортёра. И new Не ищет свободный блок, а просто тупо выделяет следующий блок справа. Это заставляет ленту двигаться. Создаётся иллюзия что new действительно работает быстро. Но вот затраты на сборку мусора (garbage collection), и уплотнение почему-то никто не посчитал и не учёл. Короче, сравнения C-шного new и java-шного - это эксперименты в условиях "разных моделей" памяти. И сравнивать надо эти модели в целом а не перформанс конкретного оператора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2009, 10:06 |
|
||
|
Почему тормозит C++?
|
|||
|---|---|---|---|
|
#18+
^__^, на моем компе выдало автор Exception in thread "main" java.lang.OutOfMemoryError: Java heap space at Main.main(Main.java:26) если убрать один 0 в колличестве элементов, то 826 милисекунд. Может откомпилил не правильно? компилил javac Main.java запускал java Main -Xms512m -Xmx512m ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2009, 11:02 |
|
||
|
Почему тормозит C++?
|
|||
|---|---|---|---|
|
#18+
clihltСиПиПи, И еще скажи.. вот если .NET такой весь из себя оптимальный, так почему Microsoft написала SQLSERVER 2005 ( покрайней мере сам екзешник службы ) на C++ ( или С ) ? И самое интересное - шустрый компилятор шарпа csc.exe тоже написан на C++( C ), а не на .NET языках. наследованный код. Переписывать дорого. На Фортране, Коболе и языке БЭСМ-6 дохрена программ экплуатируется. Но это не означает, что эти языки - верх совершенства. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2009, 12:21 |
|
||
|
Почему тормозит C++?
|
|||
|---|---|---|---|
|
#18+
Сам пишу и на С# и на С++. Да new как оператор быстрее в С# и чисто математические операции тоже бустрее, но не стоит забывать про Garbage Collector. Одним словом С# не как не может быть быстрее С++. Там только еще можно учесть нюанс что JIT генерирует максимально оптимизированый код под данную архитектуру, а у С++ average оптимизация так как он не знает под какую архитектуру будет работать. Но даже учитывая все это С++ в среднем значительно быстрее С#. Об этом много говорить не стоит, просто поэкспереминтируйте напромер работы с массивами, шеь таблицами, сетами итд... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2009, 12:41 |
|
||
|
Почему тормозит C++?
|
|||
|---|---|---|---|
|
#18+
Если сравнивать скорость работы с выделение памяти тут любой из malloc сливает в разы, ибо поиск по связанному списку понятно на порядок медленние, чем выделение на верхушке стека. Все сказки про тормоза жабы идут от работы с либами, тут да ни куда не денешся ибо солнцевские пытаются обеспечить безопасную среду исполнения. Ну с другой стороны вам ни кто не запрещает реализовать скажем собственный быстрый сетевой интерфейс. очень вумная статья про жабу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2009, 12:42 |
|
||
|
Почему тормозит C++?
|
|||
|---|---|---|---|
|
#18+
про Garbage Collector. Одним словом С# не как не может быть быстрее С++. опять же, откуда это следует? а для C++ ведь тоже нужно писать по-нормальному собственный менеджер памяти с собственным сборщиком мусора во избежания "ада утечек памяти". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2009, 12:48 |
|
||
|
Почему тормозит C++?
|
|||
|---|---|---|---|
|
#18+
СиПиПиЕсли сравнивать скорость работы с выделение памяти тут любой из malloc сливает в разы, ибо поиск по связанному списку понятно на порядок медленние, чем выделение на верхушке стека. А не поел бы ты гов...ца, малолетний долбо...бушко? Выделение памяти - это единственная операция, на которой JVM и CLR имеют некое потенциальное преимущество перед традиционными подходами. Но только это вовсе не делает их средствами системного программирования? И знаешь почему, малолетняя бестолочь? Да потому что операция выделения памяти занимает от силы 1-2% всего времени жизни типового, даже клиентского приложения. Это так трудно понять пораженному с...мотоксикозом мозгу школьника? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2009, 12:49 |
|
||
|
Почему тормозит C++?
|
|||
|---|---|---|---|
|
#18+
СиПиПиа для C++ ведь тоже нужно писать по-нормальному собственный менеджер памяти с собственным сборщиком мусора во избежания "ада утечек памяти". Не нужно. Нужно разве для идиотов, которые так и не осилили простейшую конструкцию try catch aka finally ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2009, 12:51 |
|
||
|
Почему тормозит C++?
|
|||
|---|---|---|---|
|
#18+
Критик глупостейСиПиПиЕсли сравнивать скорость работы с выделение памяти тут любой из malloc сливает в разы, ибо поиск по связанному списку понятно на порядок медленние, чем выделение на верхушке стека. А не поел бы ты гов...ца, малолетний долбо...бушко? Выделение памяти - это единственная операция, на которой JVM и CLR имеют некое потенциальное преимущество перед традиционными подходами. Но только это вовсе не делает их средствами системного программирования? И знаешь почему, малолетняя бестолочь? Да потому что операция выделения памяти занимает от силы 1-2% всего времени жизни типового, даже клиентского приложения. Это так трудно понять пораженному с...мотоксикозом мозгу школьника? где? ты видел типовое приложение с типовым GUI и типовым обращением с ресурсами? что такое "программа ест много ресурсов" знаешь? это память! из-за обьектов! а не производительность из-за "десять вложенных друг в друга циклов, который на Си выполняется быстрее". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2009, 12:56 |
|
||
|
Почему тормозит C++?
|
|||
|---|---|---|---|
|
#18+
СиПиПи, так где же код на с# )) быстро выделеяющий? без него все твои слова - просто треп. И ответь плиз как RTTI в шарпе отключить для объектов. А то вот написал я код под c++ выделяющий 10млн 12-ти байтовых объектов на c++ и на c# и получил, что прога на c++ сожрала приблизительно 100мб оперативы, а прога на c# 300мб. Paradox Там только еще можно учесть нюанс что JIT генерирует максимально оптимизированый код под данную архитектуру, а у С++ average оптимизация так как он не знает под какую архитектуру будет работать. Вот в то что .NET начнет память выделять быстрее C++ я еще поверю. А вот в генерацию более оптимального кода врядли. Вопервых C++ прекрасно "знает" под какую архитектуру он будет работать и все это задается опциями компилятора. Во вторых перед JIT стоит очень не простая задача - за очень короткий промежуток времени ( дабы запуск приложений не был очень долгим ) перегнать прогу из опкодов под виртуальный стековый процессор в прогу в опкодах под регистровый реальный процессор и выполнить оптимизацию. Задача это весьма не простая. У C++ есть гораздо больше времени на оптимизацию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2009, 13:07 |
|
||
|
Почему тормозит C++?
|
|||
|---|---|---|---|
|
#18+
СиПиПиclihltСиПиПи, И еще скажи.. вот если .NET такой весь из себя оптимальный, так почему Microsoft написала SQLSERVER 2005 ( покрайней мере сам екзешник службы ) на C++ ( или С ) ? И самое интересное - шустрый компилятор шарпа csc.exe тоже написан на C++( C ), а не на .NET языках. наследованный код. Переписывать дорого. На Фортране, Коболе и языке БЭСМ-6 дохрена программ экплуатируется. Но это не означает, что эти языки - верх совершенства. ага.. Значит sql server и csc - это наследованный код. А микрософт офис ненаследованный. Его ж им не лень было на НЕТ языках переписать. А может микрософту всетаки стремновато переписывать то что критично к времени выполнения под net? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2009, 13:09 |
|
||
|
Почему тормозит C++?
|
|||
|---|---|---|---|
|
#18+
СиПиПичто такое "программа ест много ресурсов" знаешь? это память! из-за обьектов! Нет. Программа, которая ест много ресурсов, это на Java или на .NET-те наструяченное говнецо. Просто потому что там менеджер памяти идиотский. Есть сомнения? Сравни потребности в памяти любого класса программ. К примеру utorrent (с++) c azureus (java), google desktop (c++) с Windows Sidebar (.NET). Потребности в памяти в разы у "управляемых сред". Из-за чего, а? СиПиПиа не производительность из-за "десять вложенных друг в друга циклов, который на Си выполняется быстрее". Нет, ты точно кретин, как я посмотрю. Что ты доказать тут хочешь, а? .NET, как и Java, специально создали для того, чтобы сотни тысяч кодирующих обезъян или домохозяек смогли писать хоть какой-то софт для текущих потребностей, по той простой причине, что нормальных программистов на С/C++ на всех задачи не хватает. Ибо количество интеллекта на земле - величина постоянная, от популяции не зависящая. И хоть что ты тут сейчас себе (и подобным) не рассказывай, но .NET и Java никогда не будут средствами системного программирования, а уж тем более средствами написания критичных для производительности или стабильности приложений. Только вспомогательные, низкоквалифицированные задачи, вроде УЕВ или веб-серсивов. Это тоже трудно понять? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2009, 13:10 |
|
||
|
Почему тормозит C++?
|
|||
|---|---|---|---|
|
#18+
СиПиПиКритик глупостейСиПиПиЕсли сравнивать скорость работы с выделение памяти тут любой из malloc сливает в разы, ибо поиск по связанному списку понятно на порядок медленние, чем выделение на верхушке стека. А не поел бы ты гов...ца, малолетний долбо...бушко? Выделение памяти - это единственная операция, на которой JVM и CLR имеют некое потенциальное преимущество перед традиционными подходами. Но только это вовсе не делает их средствами системного программирования? И знаешь почему, малолетняя бестолочь? Да потому что операция выделения памяти занимает от силы 1-2% всего времени жизни типового, даже клиентского приложения. Это так трудно понять пораженному с...мотоксикозом мозгу школьника? где? ты видел типовое приложение с типовым GUI и типовым обращением с ресурсами? что такое "программа ест много ресурсов" знаешь? это память! из-за обьектов! а не производительность из-за "десять вложенных друг в друга циклов, который на Си выполняется быстрее". Вот как раз НЕТ овые проги и жрут больше памяти. Изза того что к каждому объекту - хочешь ты того или нет цепляется RTTI. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2009, 13:12 |
|
||
|
Почему тормозит C++?
|
|||
|---|---|---|---|
|
#18+
>Вопервых C++ прекрасно "знает" под какую архитектуру он будет работать и все это задается опциями компилятора. JIT прекрасно знает, на каком именно компьютере будет выполняться программа. И оптимизирует именно под эту машину. а компилятор СиПиПи - нет. Он не знает особенности целевой архитектуры, на которой РЕАЛЬНО будет выполняться код. >Во вторых перед JIT стоит очень не простая задача - за очень короткий промежуток времени ( дабы запуск приложений не был очень долгим ) перегнать прогу из опкодов под виртуальный стековый процессор в прогу в опкодах под регистровый реальный процессор и выполнить оптимизацию. Задача это весьма не простая генерация оптимального машинного кода по байткоду выполняется гораздо быстрее, чем построение дерева по тексту программы и его анализ в 2 и более прохода. JIT компиляция выполняется (и должна выполняться) ровно ОДИН раз во время ПЕРВОЙ загрузки соответствующего модуля, а еще лучше - после инсталляции ngen-ом для всех сборок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2009, 13:15 |
|
||
|
Почему тормозит C++?
|
|||
|---|---|---|---|
|
#18+
clihltВот как раз НЕТ овые проги и жрут больше памяти. Изза того что к каждому объекту - хочешь ты того или нет цепляется RTTI. Уж лучше бы ты сидел там, в своем Донецке, да помалкивал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2009, 13:16 |
|
||
|
Почему тормозит C++?
|
|||
|---|---|---|---|
|
#18+
СиПиПи>Вопервых C++ прекрасно "знает" под какую архитектуру он будет работать и все это задается опциями компилятора. JIT прекрасно знает, на каком именно компьютере будет выполняться программа. И оптимизирует именно под эту машину. а компилятор СиПиПи - нет. Он не знает особенности целевой архитектуры, на которой РЕАЛЬНО будет выполняться код. >Во вторых перед JIT стоит очень не простая задача - за очень короткий промежуток времени ( дабы запуск приложений не был очень долгим ) перегнать прогу из опкодов под виртуальный стековый процессор в прогу в опкодах под регистровый реальный процессор и выполнить оптимизацию. Задача это весьма не простая генерация оптимального машинного кода по байткоду выполняется гораздо быстрее, чем построение дерева по тексту программы и его анализ в 2 и более прохода. JIT компиляция выполняется (и должна выполняться) ровно ОДИН раз во время ПЕРВОЙ загрузки соответствующего модуля, а еще лучше - после инсталляции ngen-ом для всех сборок. ну дак почему тогда код на c++ выполняется быстрее? не веришь? давай реализуем любой алгоритм ты на шарпе, я на C++ и сравним результаты выполнения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2009, 13:18 |
|
||
|
Почему тормозит C++?
|
|||
|---|---|---|---|
|
#18+
Критик глупостейclihltВот как раз НЕТ овые проги и жрут больше памяти. Изза того что к каждому объекту - хочешь ты того или нет цепляется RTTI. Уж лучше бы ты сидел там, в своем Донецке, да помалкивал. Тут и сижу. Чего не правильно то сказал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2009, 13:19 |
|
||
|
Почему тормозит C++?
|
|||
|---|---|---|---|
|
#18+
СиПиПи>Вопервых C++ прекрасно "знает" под какую архитектуру он будет работать и все это задается опциями компилятора. JIT прекрасно знает, на каком именно компьютере будет выполняться программа. И оптимизирует именно под эту машину. И что дальше? Вообще не аргумент, из знаний размера кеша или модели процессора можно выжать ну максимум 1-10% таким путем, погоды вообще не делает. СиПиПиа компилятор СиПиПи - нет. Он не знает особенности целевой архитектуры, на которой РЕАЛЬНО будет выполняться код. И отлично. Всех устраивает. Тебя нет? Ну открой для себя Gentoo, там тоже малолетние прыщи всю систему под свой процессор ночами оптимизируют. Поинтересуещься, много ли они там наоптимизировали, бугага. СиПиПи >Во вторых перед JIT стоит очень не простая задача - за очень короткий промежуток времени ( дабы запуск приложений не был очень долгим ) перегнать прогу из опкодов под виртуальный стековый процессор в прогу в опкодах под регистровый реальный процессор и выполнить оптимизацию. Задача это весьма не простая генерация оптимального машинного кода по байткоду выполняется гораздо быстрее, чем построение дерева по тексту программы и его анализ в 2 и более прохода. JIT компиляция выполняется (и должна выполняться) ровно ОДИН раз во время ПЕРВОЙ загрузки соответствующего модуля, а еще лучше - после инсталляции ngen-ом для всех сборок. Ну и зачем ты сюда скопипастил этот экскремент, который ты сам даже понять не в состоянии? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2009, 13:20 |
|
||
|
Почему тормозит C++?
|
|||
|---|---|---|---|
|
#18+
clihlt Вопервых C++ прекрасно "знает" под какую архитектуру он будет работать и все это задается опциями компилятора. Да но это максимом можно сделать в период компилчции, и стоит перенести бинарник под другую архитектуру и .... А JIT это делает runtime .... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2009, 13:22 |
|
||
|
Почему тормозит C++?
|
|||
|---|---|---|---|
|
#18+
>И хоть что ты тут сейчас себе (и подобным) не рассказывай, но .NET и Java никогда не будут средствами системного программирования, а уж тем более средствами написания критичных для производительности или стабильности приложений. а они никогда не позиционировались как "языки системного программирования" а вот C++ никогда не был и не будет нормальным инструментом для создания 1) прикладного десктоп софта из-за полного хаоса в стандартных библиотеках. 2) Web приложений из-за небезопасности С++ и полного отсутствия фреймворков/либ. Извините, но говорить о безопасности и стабильности С++ может только человек, никогда не программировавший на нем. Этот язык создан для создания самому себе граблей. 3) прикладного серверного ПО, опять же из-за полного отсутствия соответствующих библиотек и фреймворков а это - 95% всего создаваемого софта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2009, 13:23 |
|
||
|
Почему тормозит C++?
|
|||
|---|---|---|---|
|
#18+
>Ну и зачем ты сюда скопипастил этот экскремент, который ты сам даже понять не в состоянии? ты Paint.NET видел? что он делает при окончании установки? правильно ngen ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2009, 13:26 |
|
||
|
Почему тормозит C++?
|
|||
|---|---|---|---|
|
#18+
СиПиПиправильно ngen ! Что, ngen, он просто сэкономит вам память и предаст относительную скорость, но не как не сделает из С# C++. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2009, 13:29 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=35965674&tid=2018019]: |
0ms |
get settings: |
12ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
196ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
| others: | 283ms |
| total: | 581ms |

| 0 / 0 |
