
Дмитрий
25.05.2018
13:39:28

Square
25.05.2018
13:51:23

Max
25.05.2018
13:56:56

Google

Square
25.05.2018
13:58:16

Max
25.05.2018
14:00:03
ну сравнивать и не хочу. потому что помимо скорости есть пропускная способность. типа сколько ждут обработки запроса. как парвило ждут гораздо дольше чем операции с очередью. а у меня под блокировкой просто 2 указателя меняются это очень мало
н6о преокт занятный надо убдет попробовать
так что за ссылочку спасибо
еще есть библиотека CDS. https://github.com/khizmax/libcds
но там куча контейнеров лок фри
и надо тюнить

Roman
25.05.2018
14:24:23
Вот я совсем не курсе как тюнить под арм и всяких мемори барьеров

Max
25.05.2018
14:26:25
там не под арм а сам контейнер надо тюнить. там типа подобрать нужный сборщик мусора или еще какойто алгоритм работы с памятью. ну и выбрать нужный вариант контейнера из нескольких. вопщем глаза разбегаются. а вот все остальное там за тебя сделано и "под арм" тюнить не надо
и барьеры там все учтены

Aidar
25.05.2018
14:29:39

Spoonson
25.05.2018
14:30:52
Потому что там другая модель памяти

Aidar
25.05.2018
14:31:07

Google

Spoonson
25.05.2018
14:32:01
Ну, либа то может не быть полностью рабочей

Aidar
25.05.2018
14:32:13

Max
25.05.2018
14:32:34
если ты полез в такие дебри то тебе придется отлаживать и настраивать
под твою задачу

Spoonson
25.05.2018
14:33:04

Max
25.05.2018
14:33:08
и то может быть что тебе локфри будет медленнее чем блокировки
так уже бывало
к тому же лок фри ничего не делает с тем фактом что для выделения памяти в маллоке мьютексы лочатся
тем не менее оператор нью и маллок внутри него одно из самых быстры реализаций которые ящупал
на глибцах

Constantine
25.05.2018
14:35:24
а вообще есть смысл обсуждать производительность аллокатора?
Емнип там очень неприятные требования типа вызов new является синхронизацией потоков

Aidar
25.05.2018
14:37:02

Max
25.05.2018
14:38:07
ну так я пробовал гонять через гугл бенчмарк и нью и бустовские аллокаторы. и boehmgc и gnu шные аллокаторы типа pool, bitmap и mt_alloc. самые быстрые new bitmap и mt_alloc. причем походу даже от колва потоков не сильно зависит скорость

Gleb
25.05.2018
14:38:11
Офтоп конечно но чата специализированее у меня нет
Можно ли взять интеграл в общем случае ?

Constantine
25.05.2018
14:39:11
Этот результат зависит от обычного класса элементарных функций кардинальнейше

Gleb
25.05.2018
14:39:41
Ну я скорее о гипотетическом интеграле
Ебанутом
Потому мне кажется что в общем случае он не находится

Google

Gleb
25.05.2018
14:40:26
А разве что апроксимируется

Constantine
25.05.2018
14:40:28
Я вас не понимаю
e^(-x^2) dx
Какой ответ вы хотите получить?

Gleb
25.05.2018
14:42:15
Никакой
Я спрашиваю условно :"есть ли функция интеграл от которой не ищется"

Aidar
25.05.2018
14:42:16

Gleb
25.05.2018
14:42:26
Окей

Constantine
25.05.2018
14:42:48

Aidar
25.05.2018
14:42:54
не ищется?

Gleb
25.05.2018
14:43:47
Окей ну знаете когда на экзамене ты проводишь махинации над ним, так чтобы по итогу все красиво подставлялялось и искало

Aidar
25.05.2018
14:44:19
там есть функции которые определяются как решение дифура
можно таких еще наопределять

Constantine
25.05.2018
14:44:54
Такие не нужны
Вроде если модуль добавить в класс элементарных, задача ломается

Побитый
25.05.2018
14:47:52

Gleb
25.05.2018
14:48:15
Спасибо

Constantine
25.05.2018
14:49:05

Gleb
25.05.2018
14:49:19

Побитый
25.05.2018
14:49:33

Google

Побитый
25.05.2018
14:49:49

Constantine
25.05.2018
14:50:10
Не интегрируется в конечном виде в элементарных функциях

Дед Пегас
25.05.2018
14:59:29
@anastaysha163 вакансии у нас постят в отдельный канал через @AlexFails
Спасибо, что читаете правила чата.

Анастасия
25.05.2018
15:00:28
прастити

Побитый
25.05.2018
16:12:25
Если в одном потоке выполняется b = true, а во втором потоке выполняется b = false, будет ли это data race с точки зрения c++? Больше с b нигде ничего не делается.

Aidar
25.05.2018
16:12:53

Побитый
25.05.2018
16:13:43

Aidar
25.05.2018
16:14:14
нафиг такую теорию

Побитый
25.05.2018
16:14:41
Дак будет ub или нет?

Max
25.05.2018
16:14:42
ну если все пишут но никто не читает то какой тут датарейс?
да и зачем писать чтото туда откуда потом не будет читаться?

Aidar
25.05.2018
16:16:50
Дак будет ub или нет?
> The execution of a program contains a data race if it contains two potentially concurrent conflicting actions, at least one of which is not atomic, and neither happens before the other, except for the special case for signal handlers described below.
а нет есть
Two expression evaluations conflict if one of them modifies a memory location ([intro.memory]) and the other one reads or modifies the same memory location.
"or modifies"

Побитый
25.05.2018
16:19:12
Это откуда?

Aidar
25.05.2018
16:19:22
из драфта
http://eel.is/c++draft/intro.races#2

Max
25.05.2018
16:20:38
толку от такогодата рейса если его нельзя обнаружить?

Google

Побитый
25.05.2018
16:21:18

Aidar
25.05.2018
16:21:39
надо найти что data race это уб всегда
а не только при чтении
>Any such data race results in undefined behavior
ладно

Побитый
25.05.2018
16:26:05
А что вы знаете про атомарнтость присвоения указателя? Слышал в лекции на распространенных платформах присваивание атомарно по дефолту. StackOverflow говорит, что нихера. А вы что скажете?

Aidar
25.05.2018
16:26:27
ваще ниче
даже bool

Побитый
25.05.2018
16:27:02
Ясно

Aidar
25.05.2018
16:27:37
ты читал энтони уильямса? если нет дуй читать

Побитый
25.05.2018
16:27:52

Max
25.05.2018
16:28:04
на x86 по факту любая запись машинного слова выровненного атомарна
потому что блокируется шина

Aidar
25.05.2018
16:28:16
и тут другие правила

Max
25.05.2018
16:28:23
ну да

Aidar
25.05.2018
16:28:32
глупо тащить правила из разных вселенных

Max
25.05.2018
16:29:14
поэтому для х86 там все что не передавай в мемори модел все равно будет sequential consistency

Побитый
25.05.2018
16:29:15