
Alexander
17.09.2018
09:29:12
в libc++ всякого говна бывает

Igor
17.09.2018
09:29:40

Ilia
17.09.2018
09:29:47

Kitsu
17.09.2018
09:29:53

Google

Nikita
17.09.2018
09:29:56

Ilia
17.09.2018
09:30:13

Nikita
17.09.2018
09:30:46
По поводу бенчмарков использовал Google benchmark, не сохранил код к сожалению

Kitsu
17.09.2018
09:30:51

Alexander
17.09.2018
09:30:59

Ilia
17.09.2018
09:31:08

Kitsu
17.09.2018
09:31:15

Ilia
17.09.2018
09:31:43

Nikita
17.09.2018
09:31:49

Alexander
17.09.2018
09:32:15

Google

Ilia
17.09.2018
09:32:50
Вроде да, 100% сказать не берусь
Ну вот я и говорю, что ты даже не знаешь , какая там либа RegEx одна, и какая другая (версия буст) тоже не говоришь, но уверен, что одна другой быстрее.

Alexander
17.09.2018
09:33:12
но я против Boost.Regex имею то, что она дырявая

Nikita
17.09.2018
09:33:25

Alexander
17.09.2018
09:33:35
(хотя в последних версиях её уже значительно подправили)

Kitsu
17.09.2018
09:33:48

Ⱪonstantin
17.09.2018
09:42:08
В итоге ты получишь k*O(N) или O( K*N )
правильно написанная имплементация регулярок использует внутри конечный автомат и работает за линию для любового входного текста и любой сложности регулярки. Хотя проблема может возникнуть, если регулярка будет слишком большая и тупо не влезет в кэш процессора

Alexander
17.09.2018
09:43:15
жаль, что автомат строится в рантайме

Ilia
17.09.2018
09:43:17

Alexander
17.09.2018
09:43:48
тот же pire

Spoonson
17.09.2018
09:44:20

Ⱪonstantin
17.09.2018
09:44:41
жаль, что автомат строится в рантайме
можно написать имплементацию регулярок на шаблонах, магии или препроцессоре и построить в компайл-тайм или упаковка-билда-тайм или установка-сервиса-на-продакшен-тайм или когда угодно. Это вопрос имплементации

Spoonson
17.09.2018
09:44:46
два раза выполнить одну и ту же регулярку - от этого сложность не изменится, и останется все той же линейной

Alexander
17.09.2018
09:46:04

Ⱪonstantin
17.09.2018
09:46:17

Ilia
17.09.2018
09:46:53
Ладно, мы спорим ни о чём, и ходим по кругу.
А вопрос уже решён

Spoonson
17.09.2018
09:50:06

Igor
17.09.2018
10:15:55
Библиотека с compile-time-regexp'ами.
https://github.com/hanickadot/compile-time-regular-expressions
#repo #github #cpp #regex #compiletime

Google

Alexander
17.09.2018
10:19:33

Ⱪonstantin
17.09.2018
10:27:17

Alexander
17.09.2018
10:27:52
касательно regex - вот кстати хороший докладик на эту тему
https://www.youtube.com/watch?v=N_rkHzhXueo&t=2s&index=62&list=PLHTh1InhhwT7J5jl4vAhO1WvGHUUFgUQH

Stanislav
17.09.2018
10:36:11

Alexander
17.09.2018
10:39:33
из того, что я нарыл - Boost.Regex версии 1.5X примерно соизмерим по перфомансу на каком-то кейсе с реализацией в libstdc++, но в 4 раза быстрее того, что тогда было написано в libc++. Почему так - надо разбираться

Square
17.09.2018
10:59:09

Александр
17.09.2018
11:22:07
Кто знает, почему std::from_chars для wchar_t не существует? ?

Igor
17.09.2018
11:36:02
@antoshkka, или вообще хоть кто-нибудь, это я наркоман или буст?
https://wandbox.org/permlink/zsIjeuy7ld80k4KA

Matwey
17.09.2018
11:37:39

Igor
17.09.2018
11:39:04
ну как бы да, в std оно не матчится, std::smatch.empty() == true; std::smatch.size() == 0
в бусте boost::smatch.size() == 2; smatch[0] == smatch[1] == ""
буст успешно взрывает мне мозг последние полчаса

Matwey
17.09.2018
11:39:58
Адругие версии boost?

Igor
17.09.2018
11:40:16
потому что я на свою голову понадеялся на if (!match.empty()) и погряз в отладке
> Postconditions: If the function returns false, then the effect on parameter match is undefined
лол, чо

Yarique
17.09.2018
11:44:39

Igor
17.09.2018
11:50:17

Antony
17.09.2018
12:02:44

Google

Igor
17.09.2018
12:05:21
ну и для полноты коллекции, cppreference про ту же функцию
> Returns true if a match exists, false otherwise. In either case, the object match is updated, as follows:
> If the match does not exist: match.ready() == true; match.empty() == true; match.size() == 0

Matwey
17.09.2018
12:05:57
Чтобы не было вот такого вот как у тебя

Antony
17.09.2018
12:17:01
Попробуйте закинуть это тикетом в Boost.Regex
именно написав, что расходится поведение в std и boost
тикет закидывать вот сюда: https://github.com/boostorg/regex

Alexander
17.09.2018
12:17:43

Antony
17.09.2018
12:21:40
Закрыли его на добавление новых багов. Теперь только через github

Alexander
17.09.2018
12:25:12

Matwey
17.09.2018
12:25:41

Alexander
17.09.2018
12:25:59
у раста вон там своя экосистема растёт. им ни к чему)

Matwey
17.09.2018
12:26:17

Antony
17.09.2018
12:29:50

Igor
17.09.2018
12:37:35

Ilia
17.09.2018
13:31:21
Есть кто работал с BLAS на С ?

Vladislav
17.09.2018
13:46:42
На работе эрегировался такой вопрос:
Дана структура.
В структуре, посредством конструктора, инициализируются её поля.
При первом прочтении эта конструкция выглядит как класс.
Так, может лучше объявлять все структуры классами? Но тогда придётся заводить геттеры и сеттеры, и код разрастётся, казалось бы.
Что делать? Как поступаете вы?

Pavel
17.09.2018
13:48:07
после эрегирования остается только фалломорфировать

Anton
17.09.2018
13:48:40

Pavel
17.09.2018
13:48:54
а вообще класс от структуры отличается дефолтным доступом и наследованием. чо все с ними носятся..

Vladislav
17.09.2018
13:49:06