Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Почему std::string_view МЕДЛЕННЕЕ, чем std::string? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибка C2864/C2758 http://www.cyberforum.ru/cpp-beginners/thread1754622.html
Собсна вот в чём проблема... Код писался на VS15 Community, проект был пересоздан на VS10 Ultimate Но вот беда, не хочет объявляться не статический int.. Кто сталкивался? Помогите. Ошибки на...
C++ Определить, сколько символов цифр содержит файл Извиняюсь за вопрос, но я просто не могу понять: 1) Как объяснить компилятору, что это именно число, а не буква? (предположительно через аску, но опять же как). 2) Как можно прочитать весь файл... http://www.cyberforum.ru/cpp-beginners/thread1754620.html
C++ Ошибка компиляции проекта под linux
Здраствуйте. Пытаюсь скомпилировать проект в Cygwin, получается такой лог: $ make MAKE Version 5.2 Copyright (c) 1987, 1998 Inprise Corp. gcc -c -m32 -O3 -fPIC -w -DLINUX -Wall...
C++ Умножытели: Математические операции с умножытелями
Ребята помогите написать програму до понедельника на тему: "Умножители: Математические операции с умножителями". Чесно говоря, у меня даже нет понятие ,как это делать. А у меня ещё куча работы по...
C++ Цикл с паузой http://www.cyberforum.ru/cpp-beginners/thread1754597.html
Вопрос простой до невозможности, но сколько бы я не искал его на английских форумах, на русских - нигде не нашел ответа. Как сделать цикл с паузой? sleep не работает. Что я хотел сделать - это...
C++ Ошибка error: call of overloaded Помогите разобраться с ошибкой, не хочет компилировать! ошибки не подчеркивает...)) подробнее

Показать сообщение отдельно
Nosey
1348 / 399 / 107
Регистрация: 22.10.2014
Сообщений: 861
Завершенные тесты: 2
13.06.2016, 15:04
Цитата Сообщение от gromo Посмотреть сообщение
А разве не тратятся дополнительные ресурсы на приведение std::string в int? Я всегда думал, что вариант со string будет быстрее чем int.
(*1) Тратятся, но копирование инта всяко быстрее строки + рассчет хэша для инта - это сам инт.
Т.е. работа при добавлении элемента std::unordered_set<int> при отсутствии балансировки (reserve был вызван) примерно следущая:
Код
ar[value] = value;
//где
//int ar[reserveSize];
// value - добавляемое значение.
Цитата Сообщение от gromo Посмотреть сообщение
А эта грамматика соответствует любой произвольной строке?
*(qi::char_ - qi::eol) - это соответствует любому количеству (любых символов за исключением переноса строки).

Цитата Сообщение от gromo Посмотреть сообщение
И почему не будет ускорения?
См. (*1)

[quote="gromo;9266578"]И можете объяснить эту строчку? Что это за магическая константа и вообще хитро-вывернутый способ подсчета смещения?
Эта магическая константа - это черная магия, которую лучше не использовать
Суть в том, чтобы (n-1)-ый поток закончил рассчёт быстрее чем n-ый поток, и пока n-ый поток еще считает, основной поток может сливать данные от n-1 потока. Но если данных много, это даст не прирост а ухудшение производительности, поскольку данные у последнего потока будут самыми большими и мержить придется со всеми данными. Т.е. это скользкая дорожка в общем случае.
А написал я эту скользкую дорожку, поскольку не успел остановить руки

Цитата Сообщение от gromo Посмотреть сообщение
P.s. Ваш код отработал за 10 секунд. Поразительно!
Как я сказал это за счёт инта, сделаете в стринг и отработает за очень близкое время к вашему алгоритму.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru