Путь разработчика    

Сравнение скорости арифметических операций в C#

В этом примере сравниваются скорости арифметических операций с разными типами данных. Существует большая разница между скоростями операций с использованием типа данных decimal и других типов, поэтому выполнение цикла требует определенного количества времени. Если цикл принимает разумное количество времени для int, то для decimal это занимает слишком много времени. И наоборот, если цикл принимает разумное количество времени для decimal, то слишком быстро получить большую часть измерений для других типов данных.

В этом примере используется другой подход, поэтому разумные измерения требуют разумного промежутка времени. Он позволяет ввести время, а затем проверяет операции на этот промежуток времени для каждого из типов данных.
Следующий код показывает, как программа проверяет тип данных decimal.

Python

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

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

Код для других типов данных аналогичен.

Если вы посмотрите на результаты, вы увидите, что decimal намного медленнее, чем остальные, что занимает почти в три раза больше. Другие операторы имеют сопоставимую производительность.

Источник: http://csharphelper.com/blog/2016/07/compare-speeds-arithmetic-operations-c/



Отзывы (через Facebook):

Оставить отзыв с помощью аккаунта FaceBook:

Графические популяции комаров в C#

Пример Имитировать популяции комаров в C# имитирует популяцию комаров. Этот пример рисует график, показывающий популяцию в течение каждого поколения. Когда...

22 02 2020 12:41:20

Как определить, существует ли файл или каталог в C#

Обычно лучше проверить, существует ли файл или каталог, прежде чем пытаться получить к нему доступ. Например, если вы пытаетесь прочитать файл, который не...

21 02 2020 10:28:29

Добавление и удаление изображений на листе Excel

... Метод InsertPicture вызывает метод Insert для активного листа Picture. Затем он устанавливает свойства изображения Top и Left в Top и Left местоположен...

20 02 2020 17:37:22

История языков программирования: развитие и создание

История создания и развития языков программирования довольно захватывающая и интересная. Рассмотрим же основные этапы становления этой важнейшей сферы деятельности...

19 02 2020 0:29:20

Среда разработки Intellij idea

IntelliJ IDEA — интегрированная среда разработки программного обеспечения на многих языках программирования от компании JetBrains. В 2001 году была выпущен...

18 02 2020 19:48:12

C# 4.0 Полное руководство (Герберт Шилдт)

В книге "C# 4.0 Полное руководство" Г. Шилдта по C# 4.0 - языку программирования, разработанному специально для среды .NET, - детально рассмотрены все осно...

17 02 2020 22:33:34

Разница между JavaScript и ECMAScript?

ECMA означает Европейскую ассоциацию производителей компьютеров. ECMAScript - это стандарт языка программирования, такой как lisp. JavaScript - это реализа...

16 02 2020 8:52:30

Перечислить узлы TreeView в C#

Предыдущие два сообщения показывают два способа перечисления узлов TreeView, которые проверяются. Идея состоит в том, чтобы рекурсивно сканировать узлы дер...

15 02 2020 0:49:27

RandomAccessFile в Java

Java RandomAccessFile обеспечивает несущественный доступ к файлам. Он ведет себя как большой массив байтов, хранящихся в файловой системе. Это означает, чт...

14 02 2020 16:41:15

Отображение значимых цифр в C#

Число значащих цифр в числе - это число цифр, которые содержат значимую информацию. К ним относятся все отображаемые цифры, кроме начальных и конечных нуле...

13 02 2020 5:14:45

Язык JavaScript (Илья Контор)

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

12 02 2020 17:47:56

Класс FileReader в Java

FileReader - это характерно-ориентированный класс, который используется для обработки файлов в Java. Он предназначен для чтения потоков символов. Один симв...

11 02 2020 20:42:38

Использование методов расширения строк для проверки номеров социального обеспечения в C#

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

10 02 2020 8:42:13

Данные графика со стандартными диапазонами отклонения в C#

Примеры Нарисуйте нормальную кривую распределения в C# и Нарисуйте масштабированное нормальное распределение на C# , покажите один подход для визуализации...

09 02 2020 13:27:28

Простой Python. Современный стиль программирования. (Билл Любанович)

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

08 02 2020 21:51:58

Создаем динамические веб-сайты с помощью PHP, MySQL, JavaScript и CSS (Р. Никсон)

Научитесь создавать современные динамические веб-сайты, даже если у вас нет опыта в программировании. Если вы умеете писать статические сайты на HTML, то с...

07 02 2020 8:20:58

Как создать файл в Java

Класс File имеет три конструктора и ряд полезных методов. Ниже перечислены три конструктора: Для создания файла используйте метод File.createNewFile(). Это...

06 02 2020 11:44:30

Сделайте значки приложений приложений Windows Forms на соответствующих размерах в C#

Установка значка формы проста. Просто выберите форму в редакторе форм и установите ее свойство Icon. Windows использует этот значок разными способами. Напр...

05 02 2020 15:14:53

Добавление вкладок в WPF TabControl во время выполнения в C#

При нажатии кнопки + этот пример использует следующий код для добавления вкладки в WPF TabControl с именем tabMain. Сначала код создает TabItem и добавляет...

04 02 2020 14:10:40

Преобразования десятичного числа в двоичное в C#

В этой статье мы напишем программу на C# для преобразования десятичного числа в двоичное. Вывод:  ...

03 02 2020 13:26:58

Удалите нецифровые или не-буквы из строки в C#

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

02 02 2020 2:44:21

IF, ELIF, ELSE в Python

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

01 02 2020 17:43:23

Что такое Externalizable в Java?

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

31 01 2020 1:14:30

With в Python

В python ключевое слово with используется при работе с неуправляемыми ресурсами (например, файловыми потоками). Инструкция for упрощает обработку исключени...

30 01 2020 13:40:47

Что на самом деле вызывает ошибку StackOverflow в Java?

StackOverflowError просто сигнализирует о том, что памяти больше нет. Он расширяет класс VirtualMachineError, что указывает на то, что JVM (виртуальная маш...

29 01 2020 4:31:28

Сделайте CAPTCHA изображения в C#

CAPTCHA (полностью автоматизированный публичный тест Тьюринга, чтобы рассказать о компьютерах и людях) - это искаженные изображения слов, которые некоторые...

28 01 2020 11:18:26

Как загрузить и установить Python

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

27 01 2020 3:55:55

Eclipse

Eclipse — бесплатная IDE модульных кроссплатформенных приложений. В первую очередь служит для разработки расширений, в чем и заключается главное её преимущ...

26 01 2020 16:15:23

Установить положение видео с помощью полосы прокрутки с помощью WPF в C#

Пример Управление видео с помощью WPF MediaElement в C# позволяет вам установить положение видео несколькими способами. Вы можете использовать кнопки Next...

25 01 2020 0:39:36

Использование улучшенного метода расширения для вычисления стандартного отклонения в C#

Пример Вычислить стандартное отклонение в C# использует метод расширения, который вычисляет стандартное отклонение для целых чисел IEnumerable. К сожалению...

24 01 2020 15:18:17

Анимирование цветов радуги в C#

Пример Числовые значения карты для и из цветов в градиенте цвета в C# рисует градиент цвета, который использует цвета радуги. Этот пример оживляет это. Ког...

23 01 2020 19:17:25

Как найти свой IP-адрес и имя компьютера в Java

Класс InetAddress можно использовать для поиска доменных имен (DNS). Имя хоста может быть либо именем машины, например «mail.yahoo.com», либо текстовым пре...

22 01 2020 18:24:28

Нарисуйте текст движущейся кистью в C#

В этом примере используется техника, аналогичная той, которая используется в примере Сделать движущийся фон в C# . Для рисования текста используется градие...

21 01 2020 6:48:55

Исключения в Java

Исключение - это событие, которое происходит во время выполнения программы, что нарушает нормальный поток инструкций программы. Он обеспечивает способ пере...

20 01 2020 13:19:41

Языки программирования низкого уровня: низкоуровневые языки

Языки программирования низкого уровня или низкоуровневые традиционно появились первыми и в последующем стали базисом для развития всей И Т индустрии....

19 01 2020 1:11:44


Parse error: syntax error, unexpected ',' in /home/users/9/9161484547/domains/flash-mx.ru/lessons/926.php on line 69