Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 0
Регистрация: 15.04.2015
Сообщений: 5
1

Short long

17.04.2015, 19:26. Просмотров 331. Ответов 2
Метки нет (Все метки)


Здравствуйте. Я новичек в C++ и, читая книгу, наткнулся на такой заинтересовавший меня абзац.

Использование целых типов с меньшими размерами может привести
к замедлению программы, если машинные инструкции для
манипулирования ими не так эффективны, как инструкции для естественных
целых типов, т.е. тех, чей размер равен размеру машинного слова
(например, 32 битам на 32-битных машинах и 64 битам на 64-битных).
Всегда проверяйте эффективность предлагаемых «апгрейдов», чтобы
убедиться, что они действительно улучшают производительность.
У меня возникло несколько вопросов к профессионалам:
1. Что приводит к неэффективности? (если конечно не надо знать ассемблер для понимания этого)
2. Сказано проверять эффективность варианта, где имеет смысл использовать short(т.к. насколько понимаю long по умолчанию), как ее проверить?
3. Стоит ли париться по этому поводу в больших проектах, или каков выйгрыш/проигрыш при ручном определении размера? (думаю такие мелочи никогда не были важны в консольных приложениях)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.04.2015, 19:26
Ответы с готовыми решениями:

Char, short, int, long: какой тип выбрать?
Всем привет Читая книги по C++ столкнулся с тем, что везде пишут примерно одно и тоже. Допустим...

Определить, является ли символьный массив Short[5] подмассивом символьного массива Long[20]
Определить, является ли символьный массив Short подмассивом символьного массива Long.

Размер для данных (int, char, long, double, short, unsigned, float)
Напишите программу, которая будет определять размер для данных (int, char, long, double, short,...

Программа, которая выводит на экран значение функции sizeof от типов short, int, long и тд
Кого не затруднит, создайте новый проект. Определите размерность базовых типов в вашей системе. Для...

2
6917 / 5982 / 2710
Регистрация: 14.04.2014
Сообщений: 25,504
17.04.2015, 19:57 2
Ну написано же, что целый тип размером в машинное слово обрабатывается быстрее. По умолчанию не long, а int.
Да никак это точно не проверишь, надо замерять время выполнения.
0
Evg
Эксперт CАвтор FAQ
21153 / 8169 / 628
Регистрация: 30.03.2009
Сообщений: 22,468
Записей в блоге: 30
17.04.2015, 20:15 3
Цитата Сообщение от Gekaktor Посмотреть сообщение
3. Стоит ли париться по этому поводу в больших проектах, или каков выйгрыш/проигрыш при ручном определении размера? (думаю такие мелочи никогда не были важны в консольных приложениях)
В любой мало-мальски приличной программе производительности добиваются за счёт правильного проектирования программы, а вовсе не за счёт точечных копеечных оптимизаций. В такие тонкости лазить имеет смысл только при разработке математических библиотек или задач с требованиями предельной производительности, где дейтвительно идёт борьба за каждый машинный такт
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.04.2015, 20:15

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

Создать объединение, что содержит элементы типов char int short fload long string
всем доброго времени суток! мне нужно создать объединение, что содержит элементы типов char int...

Требуется написать функцию long long pow(long long a, unsigned int p), которая возводит число a в степень p
Требуется написать функцию long long pow(long long a, unsigned int p), которая возводит число a в...

Напишите программу, которая будет определять размер для данных (int, char, long, double, short, unsigned, float) и выводить информацию
1. Какие типы данных лучше всего использовать для хранения следующих значений: а) возраст человека...

Не понятный undefined reference to `unsigned long long f<unsigned long long, void>
test.cpp: #include &lt;iostream&gt; template &lt;typename FormalType, typename FactType = typename...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.