82 / 78 / 34
Регистрация: 13.02.2018
Сообщений: 1,347
|
|
1 | |
Сильно ли нагружает switch20.01.2019, 17:25. Показов 2951. Ответов 8
Метки нет (Все метки)
Доброго времени суток, хотел спросить, если свитч это то же что и if - else
Еще там прописано что: Читал что 1 ГЦ - это 1 миллиард операций в секунду, выходит какой-то проц с 3.6 за секунду дойдет до последней метки свича состоящего из 3.6 миллиардов меток?
0
|
20.01.2019, 17:25 | |
Ответы с готовыми решениями:
8
Сильно раздутый switch case Создаётся ли копия при инициализации new Function() и как сильно она нагружает процессор и память ? Программа сильно нагружает CPU Что-то сильно нагружает систему |
1123 / 794 / 219
Регистрация: 15.08.2010
Сообщений: 2,185
|
|
20.01.2019, 17:42 | 2 |
Сообщение было отмечено k0vpack как решение
Решение
если программист написал 500к меток, свич далеко не самая большая проблема в проекте
операции бывают разные. какие-то пару тактов требуют, другие десяток тогда было бы долго, но свитч генерирует jump-table если меток много и ищет за константу
1
|
82 / 78 / 34
Регистрация: 13.02.2018
Сообщений: 1,347
|
|
20.01.2019, 17:51 [ТС] | 3 |
0
|
17790 / 12941 / 3381
Регистрация: 17.09.2011
Сообщений: 21,215
|
|
20.01.2019, 18:04 | 4 |
Сообщение было отмечено k0vpack как решение
Решение
По-разному бывает, т.к. конкретная реализация свитча зависит от типа проверямого значения и диапазона его значений.
В некоторых случаях возможны оптимизации, в целом компилятор генерирует один из нижеприведенных вариантов:
Вы это на полном серьезе?
1
|
1123 / 794 / 219
Регистрация: 15.08.2010
Сообщений: 2,185
|
|
20.01.2019, 18:05 | 5 |
до 5 полей примерно свич разворачивается в ifelse. так что всё верно.
кроме того эквивалентно можно по разному трактовать. По смыслу одно и то же, по производительности нет
1
|
82 / 78 / 34
Регистрация: 13.02.2018
Сообщений: 1,347
|
|
20.01.2019, 18:06 [ТС] | 6 |
0
|
6507 / 4084 / 1605
Регистрация: 09.05.2015
Сообщений: 9,548
|
|
20.01.2019, 18:12 | 7 |
Это не так, особенно если в switch используется pattern matching, который разворачивается в огромный if/else if/else...
0
|
1123 / 794 / 219
Регистрация: 15.08.2010
Сообщений: 2,185
|
|
20.01.2019, 18:17 | 8 |
это я намеренно не оговорил, чтобы не усложнять. К тому же сам не смотрел еще, используются ли там какие либо оптимизации.
кроме паттернов и им подобного есть исключения? или для остального верно?
0
|
6507 / 4084 / 1605
Регистрация: 09.05.2015
Сообщений: 9,548
|
||||||
20.01.2019, 18:21 | 9 | |||||
Еще видел как примерно такой код
0
|
20.01.2019, 18:21 | |
20.01.2019, 18:21 | |
Помогаю со студенческими работами здесь
9
Nod32 сильно нагружает процессор. консольное приложение сильно нагружает процессор Непонятная программа сильно нагружает систему Как сильно такая проверка нагружает сервер? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |