@ProCxx

Страница 2092 из 2477
Дмитрий
25.05.2018
13:39:28
даже не думал что есть под ARM. спасибо, попробую
Я тож был удивлён, но люди на малинку себе собирают.

Square
25.05.2018
13:51:23
https://github.com/cameron314/concurrentqueue/blob/master/README.md
Но возможно придётся memory_order потюнить, я не знаю как там с этим в армах

Max
25.05.2018
13:56:56
https://github.com/cameron314/concurrentqueue/blob/master/README.md
увидел название. вспомнил что у меня тоже есть concurrent_queue которая работает на хороших нагрузках в рабочих проектах. но она не лок-фри. но можно подставить спинлок, хотя и на обычном std::mutex работает очень быстро

Google
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
даже не думал что есть под ARM. спасибо, попробую
почему тебя должно волновать что у тебя арм?

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 является синхронизацией потоков

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
Никакой Я спрашиваю условно :"есть ли функция интеграл от которой не ищется"

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
Спасибо

Побитый
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 нигде ничего не делается.

Побитый
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
толку от такогодата рейса если его нельзя обнаружить?
Ну формально это ub, значит вся программа некорректна?

Aidar
25.05.2018
16:21:39
надо найти что data race это уб всегда

а не только при чтении

>Any such data race results in undefined behavior ладно

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

Побитый
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
ты читал энтони уильямса? если нет дуй читать
Это ты имеешь ввиду Parallel c++ in action?

Страница 2092 из 2477