|
|
||||||
Сравнение производительности С++ и С# на конкретном примере31.03.2017, 19:33. Показов 7025. Ответов 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
|
||||||||
| 06.04.2017, 17:14 | ||||||||
1
|
||||||||
|
|
|||||||||||||||||||||
| 06.04.2017, 19:36 [ТС] | |||||||||||||||||||||
|
nmcf, вместо
Добавлено через 3 минуты Где то упускаю (см.ниже), видимо нужен new. Пока не понимаю как проще реализовать запуск в разных потоках, через массив.
Наверняка можно полернуть еще молотилку чисел (есть ли смысл в ассемблерных вставках?): Кликните здесь для просмотра всего текста
0
|
|||||||||||||||||||||
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|||||||
| 06.04.2017, 20:33 | |||||||
|
Добавлено через 17 минут
1
|
|||||||
|
|
||||||
| 07.04.2017, 11:30 [ТС] | ||||||
|
Итого благодаря помощи форума вышло следующее:
0
|
||||||
|
1379 / 406 / 144
Регистрация: 22.10.2014
Сообщений: 872
|
||||||
| 07.04.2017, 11:54 | ||||||
|
bedvit, А шарповый Stopwatch возвращает процессорное время? Он зависит от количества рабочих потоков?
Если не зависит, то всё примерно ок. Но если зависит, то в плюсах используйте :
0
|
||||||
|
|
|
| 07.04.2017, 12:53 [ТС] | |
|
Если прогнать несколько итераций в диапазоне до 500 тыс., то время выполнения примерно меньше на 6-8%. Каждый проход уменьшается по времени и в плюсах и в шарпе.
Добавлено через 3 минуты Nosey, вот что пишут здесь (машинный перевод). Кликните здесь для просмотра всего текста
Stopwatch Измеряет затраченное время с помощью подсчета тактов таймера в базового механизма таймера. Если установленное оборудование и операционная система поддерживают счетчики производительности высокого разрешения, то Stopwatch класс использует этот счетчик для измерения затраченного времени. В противном случае — Stopwatch класс использует системного таймера для измерения затраченного времени. ...
...На многопроцессорном компьютере он не имеет значения, на каком процессоре выполняется поток. Однако из-за ошибок в BIOS или слой абстрагирования оборудования (HAL), можно получить различные результаты расчета времени на разных процессорах. Чтобы задать сходство процессоров для потока, используйте ProcessThread.ProcessorAffinity метод.
0
|
|
|
1379 / 406 / 144
Регистрация: 22.10.2014
Сообщений: 872
|
||
| 07.04.2017, 13:28 | ||
|
Просто запустите шарповый код на одном потоке, и если выведенный результат времени сохранится с результатом многопоточной версии - то всё ок, если же будет много больше, то у меня для шарпа очень плохие новости. Ну а вообще, я помню что, шарп отлично справляется с числодробилками, поэтому думаю что всё верно, но вам бы советовал таки проверить.
0
|
||
|
1379 / 406 / 144
Регистрация: 22.10.2014
Сообщений: 872
|
|||
| 07.04.2017, 16:11 | |||
но и это не важно, ибо:И оптимизируйте шарповую версию, если это челендж С++ vs C# ![]() На всякий случай мануалы: http://en.cppreference.com/w/cpp/chrono/c/clock http://en.cppreference.com/w/cpp/chrono
0
|
|||
|
|
|||||||
| 07.04.2017, 16:44 [ТС] | |||||||
|
проверил на секундомере тупо с телефона, из-за несовершенства срабатывания пальца получил отклонения в 5% результатов в секундомере от результатов в программе. Можете сами проверить. Посему точность для данного вида сравнения приемлемая. Сравнил на двух ПК, .exe-ки, 6 подходов.
Добавил и ваш код, результат в рамках погрешности измерения (т.е. не изменился) Кликните здесь для просмотра всего текста
Добавлено через 2 минуты
0
|
|||||||
|
1379 / 406 / 144
Регистрация: 22.10.2014
Сообщений: 872
|
||||||||
| 07.04.2017, 17:39 | ||||||||
|
Попробуйте следующий код :
![]() Добавлено через 12 минут bedvit, Пардоньте, в винде clock возвращает wall clock. Все мои предыдущие слова вас не должны волновать.
0
|
||||||||
|
|
|
| 07.04.2017, 18:56 [ТС] | |
|
Nosey, вот и хорошо, что все выяснилось
![]() Вопрос знатокам солнцеликого АССЕМБЛЕРА: будет ли прирост производительности, если перевести числодробилку в ассемблерную вставку в функции Func (в Visual Studio через __asm (?)) И насколько сложно создать код. Далек от этого, как программист VBA от C#.
0
|
|
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
| 07.04.2017, 21:06 | |
|
Каких чудес ты ожидаешь от ассемблера? Компилятор C++ и так оптимизирует.
0
|
|
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
| 10.04.2017, 12:03 | |
|
Не смысла время тратить. Включи максимальную оптимизацию и всё. Тем более, что ты не знаешь ассемблер.
0
|
|
|
1719 / 568 / 187
Регистрация: 12.03.2016
Сообщений: 2,169
|
|
| 10.04.2017, 13:19 | |
|
bedvit, какой алгоритм используешь, скинь ссылочку или объясни на пальцах.
0
|
|
|
|
||
| 10.04.2017, 13:33 [ТС] | ||
?Есть некоторое убеждение, что прямые руки в ассемблере быстрее компилятора. Ассемблер я не знаю - это верно, надеюсь на помощь форума и знающего человека, которому будет интересно сравнить результаты (платформа x64).
0
|
||
| 10.04.2017, 13:33 | |
|
Принцип работы цикла на конкретном примере Оптимальная реализация построения БД на конкретном примере Использование функции округления на конкретном примере Как распарсить JSON на джаве на конкретном примере?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров
В текущей версии модели успешно реализован ключевой механизм. . .
|
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям
Реализованные компоненты:
Механизм закисления почвы через протонную помпу
Конкуренция между типами микориз
pH как триггер сукцессии
C/ P соотношение. . .
|
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
|
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
|
|
сукцессия 25. Хронология ошибок
anaschu 12.07.2026
# От 50-тонного гриба до устойчивого леса: хроника ошибок при построении модели вековой сукцессии микоризы
## О чём эта статья
В процессе построения ОДУ-модели (система дифференциальных. . .
|
сукцессия 24. Промежуточное общее описание модели
anaschu 12.07.2026
Хендофф: модель АМ→ЭКМ сукцессии микоризы (ризосфера, 50 лет)
Содержание проекта
Симуляция вековой (50 лет) экологической сукцессии в почве леса
Основные участники: АМ-гриб, ЭКМ-гриб,. . .
|
сукцессия 23. Более физиологичная физиология, более экологичная экология, более диффурные диффуры.
anaschu 12.07.2026
Что реально нашли и починили за эти 5 часов
Правило Линдемана (КПД конверсии сахара в тело, kEff) — раньше 100% полученного углерода шло прямо в биомассу гриба; теперь только kEff=0. 5 (после. . .
|
сукцессия 22. От артефактов к физиологии: калибровка агентной модели грибной сукцессии для воспроизведения сезонной динамики и pH-плато
anaschu 11.07.2026
Аннотация
В данной работе представлена калибровка агентной модели динамики грибных сообществ (fungal-succession), направленная на устранение нефизичных артефактов (коллапс биомассы, мгновенное. . .
|