powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Почему тормозит C++?
25 сообщений из 149, страница 1 из 6
Почему тормозит C++?
    #35964761
СиПиПи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
уже битые 2 часа компилирует проект

для .NET это было бы за 5 минут....
...
Рейтинг: 0 / 0
Почему тормозит C++?
    #35964819
clihlt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СиПиПи,

Он не тормозит. Он долго думает.
...
Рейтинг: 0 / 0
Почему тормозит C++?
    #35964821
СиПиПи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
clihlt,

а что он такой тугоумный?

JIT неосилили?
...
Рейтинг: 0 / 0
Почему тормозит C++?
    #35964825
clihlt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СиПиПи,

Синтакси у языка не самый простой для разбора. + выполняется оптимизация кода, лучше чем в NET.
JIT здесь причем ?
...
Рейтинг: 0 / 0
Почему тормозит C++?
    #35965288
СиПиПи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
clihltСиПиПи,

Синтакси у языка не самый простой для разбора. + выполняется оптимизация кода, лучше чем в NET.
JIT здесь причем ?

неправильно.

современные технологии оптимизации у JIT компиляторов настолько развиты, что в подавляющем большинстве случаев производительность одинаковая.

П.С. Посмотрите на код, генерируемый GCC - это разве можно назвать оптимизацией?
...
Рейтинг: 0 / 0
Почему тормозит C++?
    #35965339
eee-pc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СиПиПиclihltСиПиПи,

Синтакси у языка не самый простой для разбора. + выполняется оптимизация кода, лучше чем в NET.
JIT здесь причем ?

неправильно.

современные технологии оптимизации у JIT компиляторов настолько развиты, что в подавляющем большинстве случаев производительность одинаковая.

П.С. Посмотрите на код, генерируемый GCC - это разве можно назвать оптимизацией?

сам придумал, или подсказал кто
...
Рейтинг: 0 / 0
Почему тормозит C++?
    #35965346
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СиПиПиП.С. Посмотрите на код, генерируемый GCC - это разве можно назвать оптимизацией?
(пододвигаясь поближе)

А ну-ка ну-ка... господин СиППи, любитель .Net-а вы наш... Расскажите мне что-вы там заметили? Что такого GCC сгенерил неправильно? И как это повлияло на вашу жизнь?
...
Рейтинг: 0 / 0
Почему тормозит C++?
    #35965358
clihlt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СиПиПи,

ну вопервых просьба не путать MingW и GCC. У GCC с оптимизацией все очень даже хорошо и напорядок лучше, чем покрайней мере у MSVC.

СиПиПи
современные технологии оптимизации у JIT компиляторов настолько развиты, что в подавляющем большинстве случаев производительность одинаковая.


Кто такое сказал ? Возьми набери любой чисто расчетный алгоритм на шарпе и на c++(msvc) и замеряй время выполнения. Разница будет гдето в два раза.А если gcc под линухом компилить так и того больше разница будет.
...
Рейтинг: 0 / 0
Почему тормозит C++?
    #35965380
СиПиПи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кто такое сказал ? Возьми набери любой чисто расчетный алгоритм на шарпе и на c++(msvc) и замеряй время выполнения. Разница будет гдето в два раза.А если gcc под линухом компилить так и того больше разница будет.

как сиплюплюсники любят это слово "расчетные алгоритмы"!

1) если скорость вычислений действительно важна, то FORTRAN и C. А не кресты. Точка.
2) если важна скорость разработки - Matlab/Scilab

а теперь взглянем на типовую прикладную программу: 90% времени там тратится на СОЗДАНИЕ обьектов и УНИЧТОЖЕНИЕ объектов.

Менеджер памяти у .NET настолько вылизан и отлажен, что ни один СиПиПи программист не сможет вручную делать его работу.

а оператор new в СиПиПи ОЧЕНЬ МЕДЛЕННЫЙ.
...
Рейтинг: 0 / 0
Почему тормозит C++?
    #35965381
Фотография Aklin J
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
признано, что дотнет по определенимю медленней на 40% (или выше). это признано,

конечно многие готовы поспорить, начать холивары, прям как с жигулями, борландами или виндами. вы защищаете надгорбия.

а ты что думал, в cказку попал?(с)
4 8 15 16 23 42
...
Рейтинг: 0 / 0
Почему тормозит C++?
    #35965385
Фотография Aklin J
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СиПиПиа оператор new в СиПиПи ОЧЕНЬ МЕДЛЕННЫЙ.

для таких как ты существует гугл-new
да и с чего ты взял, чт оnew такой медленный? dotnet встроен в ядро винды и жрет ВСЕ ресурсы, в отличие от си.

ну и если нужна скорость, то это конечно асм.

п.с. физически выделение памяти в дтонтене быть не может быстрей. единственное обьяснение, что винда пытается для не-дотнета делать дотнет выделения, что естественно медленнее.
...
Рейтинг: 0 / 0
Почему тормозит C++?
    #35965386
СиПиПи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Aklin Jпризнано, что дотнет по определенимю медленней на 40% (или выше). это признано,

конечно многие готовы поспорить, начать холивары, прям как с жигулями, борландами или виндами. вы защищаете надгорбия.

а ты что думал, в cказку попал?(с)
4 8 15 16 23 42

по какому определению?

менеджер памяти - эффективный, JIT компилятор генерирует эффективный машинный код
...
Рейтинг: 0 / 0
Почему тормозит C++?
    #35965389
СиПиПи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Aklin JСиПиПиа оператор new в СиПиПи ОЧЕНЬ МЕДЛЕННЫЙ.

для таких как ты существует гугл-new
да и с чего ты взял, чт оnew такой медленный? dotnet встроен в ядро винды и жрет ВСЕ ресурсы, в отличие от си.

ну и если нужна скорость, то это конечно асм.

п.с. физически выделение памяти в дтонтене быть не может быстрей. единственное обьяснение, что винда пытается для не-дотнета делать дотнет выделения, что естественно медленнее.

>dotnet встроен в ядро винды и жрет ВСЕ ресурсы

боже, откуда такие ужасы?

а си куда встроен? в математический сопроцессор?
...
Рейтинг: 0 / 0
Почему тормозит C++?
    #35965407
Фотография Aklin J
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СиПиПипо какому определению?
менеджер памяти - эффективный, JIT компилятор генерирует эффективный машинный код

сам придумал или подсказал кто? у меня есть цифры. jit конечно хорошая штука, но не настолько.

вот например. у меня и у тебя разные компы. а программа одна. так она по определению не может одинаково хорошо работать на двух компах. именно по определению. если не понимаешь смысл слова "по определению" возьми словарь.

СиПиПибоже, откуда такие ужасы?
а си куда встроен? в математический сопроцессор?
сипп никуда не встроен. сипп делает самостоятельные рпограммы, в отличие от дотнета, который явояется частью ядра системы windows.
...
Рейтинг: 0 / 0
Почему тормозит C++?
    #35965430
Mike7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aklin J[quot СиПиПи]сипп никуда не встроен. сипп делает самостоятельные рпограммы, в отличие от дотнета, который явояется частью ядра системы windows.

Интересно, частью чего в таком случае является Mono?
...
Рейтинг: 0 / 0
Почему тормозит C++?
    #35965436
clihlt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СиПиПи,

Вот код на c++ который создает 10 000 000 объектов за 0.27 секунды ( на моем компе ).
Если не тяжело приведи плиз код на шарпе который сделает это быстрее

Код: 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.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
#include <iostream>
#include <time.h>

const int NUM =  10000000 ;

class test
{
    private:
	int a,b,c;
    public:
	test(int aa):a(aa),b(aa),c(aa){}
	void print()
	{
	    std::cout << a << " " << b << " " << c << std::endl;
	}
	~test(){}
};

int main()
{
    clock_t t1 = clock();    
    test *big_arr = (test *)new char[ NUM * sizeof(test)];

    if( big_arr )
    {
        for( int i =  0 ; i< NUM; i ++ )
        {
		new(big_arr+i)test(i);
        }
    
/*        for( int i = 0; i< NUM; i ++ )
        {
		big_arr[i].print();
        } 
*/
        for( int i =  0 ; i< NUM; i ++ )
        {
		big_arr[i].~test();
        }
        delete []((char *)big_arr);
        
        std::cout << "Work time = " <<  ((double)(clock() - t1 )/ (double) CLOCKS_PER_SEC )  << std::endl;
    }
    else
	std::cout << "Not enought memory" << std::endl;
    return  0 ;
}
...
Рейтинг: 0 / 0
Почему тормозит C++?
    #35965447
clihlt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СиПиПи
а теперь взглянем на типовую прикладную программу: 90% времени там тратится на СОЗДАНИЕ обьектов

типовая прикладная программа 90% времени ожидает пользовательского ввода.
СиПиПи
если скорость вычислений действительно важна, то FORTRAN и C. А не кресты. Точка.

c фортраном близко не знаком..
но не вижу ни одной причины почему скорость вычислений на C будет значительно выше, чем на C++.
...
Рейтинг: 0 / 0
Почему тормозит C++?
    #35965452
СиПиПи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
СиПиПи
типовая прикладная программа 90% времени ожидает пользовательского ввода.

и цикл ожидания ввода нужно оптимизировать :-))))

clihlt
c фортраном близко не знаком..
но не вижу ни одной причины почему скорость вычислений на C будет значительно выше, чем на C++.

потому что там нет обьектов
...
Рейтинг: 0 / 0
Почему тормозит C++?
    #35965470
СиПиПи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Скажите без подготовки: Какой язык может похвастаться более быстрой непосредственной производительностью аллокации, Java или C/C++? Ответ может показаться вам неожиданным - аллокация в современных JVM происходит гораздо быстрее, чем реализации malloc с наилучшей производительностью. Обычный путь кода для new Object() в HotSpot 1.4.2 и более поздних версиях составляет приблизительно 10 машинных команд (данные предоставлены компанией Sun; см. Ресурсы), тогда как реализации malloc с наилучшей производительностью в C требуют в среднем от 60 до 100 команд на запрос (Detlefs и др.; см. Ресурсы). Производительность аллокации не является простым компонентом общей производительности - тесты показывают, что многие программы C и C++ для реальных задач, такие как Perl и Ghostscript, тратят от 20 до 30 процентов своего общего времени выполнения на malloc и free - это гораздо больше, чем издержки аллокации и сбора мусора работоспособного Java-приложения (Zorn; см. Ресурсы).

Статья про Java ес-но годная и для .NER
...
Рейтинг: 0 / 0
Почему тормозит C++?
    #35965480
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какой смысл вести дискуссию швыряясь цитатами? Ты от себя что-то можешь сказать?
...
Рейтинг: 0 / 0
Почему тормозит C++?
    #35965481
clihlt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СиПиПиСиПиПи
типовая прикладная программа 90% времени ожидает пользовательского ввода.

и цикл ожидания ввода нужно оптимизировать :-))))

Так я ж не спорю )) Но вот язык разработки здесь не причем. Больше чем уверен, что эти моменты можно одинаково оптимально реализовать как на NET языках, так и на C++.

СиПиПи
clihlt
c фортраном близко не знаком..
но не вижу ни одной причины почему скорость вычислений на C будет значительно выше, чем на C++.

потому что там нет обьектов

Объекты сами по себе причиной тормозов не являются. Один и тотже алгоритм можно реализовать одинаково оптимально с объектами и без них. Или нет? Если нет то плиз почему?

А вот ты лучше расскажи, как отключить RTTI в C# для определенных классов ( или объектов ).
Ну вот допустим есть у меня класс в нем три интовых члена. И есть огромный массив из екземпляров этого класса и reflection по отношению к этим объектам я применять ну совсем не собираюсь. А оверхед на хранение RTTI просто огромный.
...
Рейтинг: 0 / 0
Почему тормозит C++?
    #35965483
clihlt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СиПиПиСкажите без подготовки: Какой язык может похвастаться более быстрой непосредственной производительностью аллокации, Java или C/C++? Ответ может показаться вам неожиданным - аллокация в современных JVM происходит гораздо быстрее, чем реализации malloc с наилучшей производительностью. Обычный путь кода для new Object() в HotSpot 1.4.2 и более поздних версиях составляет приблизительно 10 машинных команд (данные предоставлены компанией Sun; см. Ресурсы), тогда как реализации malloc с наилучшей производительностью в C требуют в среднем от 60 до 100 команд на запрос (Detlefs и др.; см. Ресурсы). Производительность аллокации не является простым компонентом общей производительности - тесты показывают, что многие программы C и C++ для реальных задач, такие как Perl и Ghostscript, тратят от 20 до 30 процентов своего общего времени выполнения на malloc и free - это гораздо больше, чем издержки аллокации и сбора мусора работоспособного Java-приложения (Zorn; см. Ресурсы).

Статья про Java ес-но годная и для .NER

Ты не цитаты из книг кидай. Кинь плиз код который выделит 10 милионов объектов быстрее чем мой. + чисто для справки в C++ на new и delete , malloc и free свет клином не сошелся. Никто не запрещает пользоватся АПИ ОС для выделения памяти.
...
Рейтинг: 0 / 0
Почему тормозит C++?
    #35965484
^__^
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
clihlt,

Интересно, посмотрел твой код в джаве, работает за 1.7 с., хотя у меня машинка старая. Интересна скорость дотнет-версии. Жаль ничего C++-ного не стоит на машине, чтобы сравнить.
...
Рейтинг: 0 / 0
Почему тормозит C++?
    #35965488
clihlt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СиПиПи,

И еще скажи.. вот если .NET такой весь из себя оптимальный, так почему Microsoft написала SQLSERVER 2005 ( покрайней мере сам екзешник службы ) на C++ ( или С ) ?
И самое интересное - шустрый компилятор шарпа csc.exe тоже написан на C++( C ), а не на .NET языках.
...
Рейтинг: 0 / 0
Почему тормозит C++?
    #35965489
Ынтырпрайсс
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aklin JСиПиПипо какому определению?
менеджер памяти - эффективный, JIT компилятор генерирует эффективный машинный код

сам придумал или подсказал кто? у меня есть цифры. jit конечно хорошая штука, но не настолько.

вот например. у меня и у тебя разные компы. а программа одна. так она по определению не может одинаково хорошо работать на двух компах. именно по определению. если не понимаешь смысл слова "по определению" возьми словарь.

СиПиПибоже, откуда такие ужасы?
а си куда встроен? в математический сопроцессор?
сипп никуда не встроен. сипп делает самостоятельные рпограммы, в отличие от дотнета, который явояется частью ядра системы windows.

логика у бобика нулевая
...
Рейтинг: 0 / 0
25 сообщений из 149, страница 1 из 6
Форумы / C++ [игнор отключен] [закрыт для гостей] / Почему тормозит C++?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]