|
|
||||||
Сравнение производительности С++ и С# на конкретном примере31.03.2017, 19:33. Показов 6586. Ответов 51
Метки нет (Все метки)
Приветствую знатоков С++ !
Можно ли на С++ вычислить быстрее, чем на C#, переменные для решения уравнения x ^ 3 + y ^ 3 = z ^ 3 - 1 К примеру в диапазоне до 100000. Код на С# Кликните здесь для просмотра всего текста
Обсуждение на ветке С#. Решение на C# прилагаю.
0
|
||||||
| 31.03.2017, 19:33 | |
|
Ответы с готовыми решениями:
51
На конкретном примере Маршрутизация на конкретном примере Линейный криптоанализ на конкретном примере |
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
| 31.03.2017, 21:37 | |
|
bedvit, программа маленькая - сделай на C++ и проверь.
0
|
|
|
|
|||
| 31.03.2017, 21:50 [ТС] | |||
nmcf, не знаю всех тонкостей С++, собственно поэтому и создал тему. Добавлено через 1 минуту Хочу понять - насколько разница большая.
0
|
|||
|
1498 / 1213 / 821
Регистрация: 29.02.2016
Сообщений: 3,630
|
|
| 31.03.2017, 22:03 | |
|
0
|
|
|
1550 / 877 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
|
|
| 01.04.2017, 03:45 | |
|
bedvit, Меня всегда умиляло, что всевозможные сравнения по скорости типа C# vs С++, java vs C++ пишутся, апологетами этих самых C# и java. Причем те, кто их пишет - либо "ниасилили" C++, либо провокаторы.
Тесты все как один: 1) мы хотим честного тестирования, поэтому дадим фору C# и java на первый запуск, а то пока это все jit скомпилится... 2) мы тестируем скорость кода и соответственно ни одного new вы в нем не увидите, потому что если вдруг случится сборка мусора... В результате получаем близкие по времени результаты и радуемся. А то, что киллер фича, ака автоматичское управление памятью, не при делах - то проблемы индейцев. ![]() Добавлено через 10 минут UPD. есть вариация пункта 2. 3) т.к. в java объект на стеке создать нельзя, пусть в C++ тоже будет new.
3
|
|
|
|
|
| 03.04.2017, 09:42 [ТС] | |
|
Уже набросили на вентилятор (java зашла). Наверное, я слишком громко тему назвал. Предлагаю:
1.убрать вентилятор - совсем. 2.снять подозрения с автора в тролинге (толстом, тонком и т.д.) 3.помочь перевести автору поис переменных по данному уравнению на с++ (наличие доброй воли) 4.НЕ сравнивать какие языки лучше, сборщик мусора, возможность ассемблерной вставки или мультиплатформенность(см.п1) 5.целью данной темы рассматривался вариант решения данного уравнения, прирост в вычислениях. До этого были варианты на VBA, Qbasic, других диалектах бейсика. Потом вариант на C#, теперь хотел посмотреть на С++. Сам не программист С++. Был чистый интерес, срач не интересует. Всем спасибо!
0
|
|
|
1550 / 877 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
|
|
| 03.04.2017, 14:32 | |
|
bedvit, сравнивать языки таким образом - все равно, что сравнивать скорость феррари и жигулей (любых других автомобилей) в городе, в час пик. Какие-то цифры вы получите, только цена им будет...
1
|
|
|
|
|
| 03.04.2017, 16:12 [ТС] | |
|
avgoor, не спорю, но у меня нет цели сравнивать языки глобально, хотелось понять, каков прирост на данном примере. Ведь логично, что нативный код быстрее управляемого.
Добавлено через 32 секунды С одинаково оптимизированным кодом.
0
|
|
|
1550 / 877 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
|
||
| 03.04.2017, 16:17 | ||
|
0
|
||
|
|
|
| 03.04.2017, 16:33 [ТС] | |
|
Все равно через CLR, хотя и только первый проход (?). Ведь для конечного пользователя (меня к примеру), не важно как работает программа (что там быстрее - сама программа, компилятор или отлаженный код и т.д.). Важно, что результат в первом случае выдается за 20 сек., во втором за 10 (к примеру). Согласны?
0
|
|
|
|
|||||||
| 05.04.2017, 18:03 [ТС] | |||||||
|
Что получилось: Кликните здесь для просмотра всего текста
По вычислениям пока прироста не получил. Пилил в Студии 2017. Конструктив приветствуется.
0
|
|||||||
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
| 05.04.2017, 18:43 | |
|
Вывод не путается?
0
|
|
|
1550 / 877 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
|
|||
| 05.04.2017, 19:11 | |||
|
0
|
|||
|
|
|
| 06.04.2017, 09:21 [ТС] | |
|
Если вместо векторов сделать массивы и перейти на указатели думаю можно ещё отжать по времени.nmcf, есть в начале пару строк. avgoor, комп хороший, разница не заметна. Но я думаю есть ещё, где можно оптимизировать с++
Добавлено через 4 минуты И да покажите как в цикле запустить потоки, ведь страшно смотреть на моё творчество! В С# через лямбда.
0
|
|
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
||
| 06.04.2017, 09:25 | ||
|
А при выводе надо как минимум сначала формировать строку и после выводить разом.
0
|
||
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
| 06.04.2017, 09:54 | |
|
Нет там проверок.
Если строку не формировать, то отдельные операции вывода будут смешиваться у разных потоков. В C#-то у тебя строка целиком выводится.
0
|
|
|
Любитель чаепитий
|
|||
| 06.04.2017, 10:12 | |||
std::wcout << L" "; <--- и так прекрасно работает.threadsN сделайте constexpr и задавайте размер массива потоков этой переменной.и да, функцию Main перенесите в main, а Func сделайте отдельной функцией.не читается совершенно ваш кот. как-то помню, читал книгу, и там говорилось, что делать из одного языка подобие другого - нонсенс.
1
|
|||
|
|
||||||||||||||||
| 06.04.2017, 16:29 [ТС] | ||||||||||||||||
|
сделал для win
Добавлено через 1 минуту Кликните здесь для просмотра всего текста
0
|
||||||||||||||||
| 06.04.2017, 16:29 | |
|
Помогаю со студенческими работами здесь
20
Принцип работы цикла на конкретном примере Оптимальная реализация построения БД на конкретном примере Использование функции округления на конкретном примере Как распарсить JSON на джаве на конкретном примере?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|