Vladislav
strcasecmp_l(s1, s2, locale) вернет 0, если s1 == s2
Vladislav
нужно только правильно подобрать locale
Alexander
Т.е. регистр он не учитывает?
Vladislav
да
Alexander
да
Ммм, можно же ведь использовать strcasecmp
Alexander
Только ведь суть в том, что она не возвращает просто ноль
Alexander
Vladislav
Case insensitive сравнение зависит от локали
Vladislav
Alexander
Все, понял, сравнение с латиницей работает.
Sokolov
Есть крутые чуваки по C++? Прям вот крутые поцы, которые смогут понять почему я даун? Смогу понять в каком направлении меня развивать и правильно выстроят структуру обучения? Типа менторства. И сколько это будет стоить?
🦥Alex Fails
Sokolov
серёжа
Шта?
Видимо, сразу надо понять почему ты даун, да?
🦥Alex Fails
Шта?
я готов тебе помочь, вот что
Sokolov
Sokolov
rostislav
в лс идите)
Sokolov
rostislav
но учить кого-то надо уметь еще..
🦥Alex Fails
rostislav
а то будет флудить тут своей элементарщиной сто лет
Максим
25$/час
rostislav
неплохо)
Максим
)
rostislav
25$/час
ты выкручиваешь яички у нубов
Alexander
Max
Max
*шутка*
🦥Alex Fails
Давайте не будем тут флудить, есть же @fludpac для этого
🦥Alex Fails
Была какая-то. Не помню(
🦥Alex Fails
Эффектив C++ только в башке
🦥Alex Fails
Но другую никак не могу вспомнить
Surreal
цпу-регистры-кэш(1,2,3\4)-память-диск-сеть
C++ тут не при чем.
Надо оптимизировать эту цепочку и убедиться в том, что за один такт изменяется\сканируется максимально возможное количество данных.
🦥Alex Fails
Surreal
Так что теория по устройству всей этой дряни + полный разбор алгоритмов и структур данных в stl + полный разбор кэш-френдли алгоритмов и структур данных + быть в курсе инструкций sse\avx, размера кэш-линий и т.д. для современных цпу.
rostislav
оптимизация алгоритмов и структур
Nikita
https://youtu.be/BP6NxVxDQIs
rostislav
неужто в плюсах на это можно повлиять
Surreal
И это только для одного ядра. Чтобы все это распараллелить, нужна отдельная теория, где тот же набор, но добавляются такты на локи\атомики\синхронизирование кэша и прочие прелести.
Nikita
Surreal
Surreal
А, еще отдельным пунктом можно добавить профилировщик и кучу свободного времени.
Surreal
И антидепрессанты, чтобы реже всплывала мысль "Все говно, буду писать на асме под каждую модель cpu".
Nikita
И под каждую модель gpu ещё оптимизации делать..
Nikita
Можно ещё по HPC упороться и бодаться с NUMA-ядрами, топологией сети
rostislav
изврасишники
Square
Нашли уже?
Square
Optimized cpp
Square
Square
#book #optimized #cpp
Square
Странно что ее до сих пор не было туточки
Alexander
Сорян, что врываюсь. Я правильно понимаю, что strcmp вернет значение больше нуля, если первая строка будет стоять в сортировке выше, чем вторая?
Square
Square
Square
Там ведь написано :/
Alexander
Мануал читал?
Да, написано, что строка 1 "больше" строки 2
Alexander
Только как это интерпретировать
Alexander
Т.е. чей символьный код больше, та строка и больше
Alexander
Так?
Square
А как ты свою фразу интерпретируешь?
Alexander
Square
А какую ты выше в сортировке поставишь?
Alexander
Впрочем, так оно и работает. Спасибо за поддержку. 😘
Alexander
А вообще есть какие-то статьи или еще что-то, где описано, как реализована стандартная библиотека? Или нужно копаться в сырках?
Surreal
В стандарте?
Alexander
Да
Surreal
Тогда в стандарте. На офиц. сайте есть бесплатный драфт.
Evgenii
Evgenii
😭
Alexander
И слишком много времени займет понимание, что есть что, вместо того, чтобы понимать алгоритмы.
Surreal
Alexander
Surreal
А что именно вам нужно?
Alexander
Сами алгоритмы. Тот же strcmp. Как он сравнивает эти строки.
Surreal
http://en.cppreference.com/w/cpp/string/byte/strcmp
В чем проблема-то?