Перейти к публикации
  • Сейчас на странице   Всего пользователей: 9   (1 пользователь, 8 гостей)

Rooster

Программирование[11]

var  

265 пользователей проголосовало

У вас нет прав на голосование в этом опросе, или на просмотр результатов опроса. Пожалуйста, войдите или зарегистрируйтесь для голосования в опросе.

Рекомендованные сообщения

Just.Doit написал 1 минуту назад:
Vova написал 1 час назад:

При безрисковых вкладах выше инфляции все просто пойдут и вложат все свободные бабки в эти вклады и будут навариваться

нет

ты не учитываешь альтернативные издержки (термин специфический, см определние из экономики)

навар происходит не там где доходность не отрицательная, а там где наибольшее мат ожидание среди доступных альтернатив

условно если у тебя есть акции с мат ожиданием (с учетом инфляции) 5% годовых, а вклады дают 1% годовых то при прочих равных навариваться надо на акциях а не на депозитах и не важно выше депозиты инфляции или нет

 

Если есть акции с мат ожиданием 5% и вклад с 5% гарантированным то вклад лучше


towBCf6.pngimage.png.6f88ac9ad688355eb803ba0b32e309ca.pngimage.png.c05354238865437022b3e4a97a835dbd.pngimage.png.0e8329f2b07e208ae8ef4e3f6878d126.png

 

 

 

Поделиться сообщением


Ссылка на сообщение
Just.Doit написал 2 минуты назад:

да

просто я не понимаю тогда тезиса про то что там конечное количество состояний которые ты МОЖЕШЬ перебрать, но не делаешь этого

для многопотока все тоже самое, просто количество комбинаций больше на "порядок" и ты их точно также можешь перебрать

У меня есть функция, которая парсит строку. Я могу найти все граничные случаи и обработать их в тесте. Это надежно защитит код от долбоеба, который будет его рефакторить. Для дико сложной функции можно сделать fuzzy тест.

 

Как мне защититься от того, что какой-то долбоеб вызовет функцию не на том потоке - я не знаю. Все что я могу сделать - это поставить в написанные мной функции ассерты на ожидаемый поток.

Поделиться сообщением


Ссылка на сообщение
Grohuf написал 41 минуту назад:

Глянь инфляцию ща 1992 год

Я в год еще не зарабатывал. А вот в 16 уже получал чутка.


 

DB

59221730.png


Я - гений, ёпта

bfe7003be27e8e81ce6a7d2d8192e9ae.jpg


22


msg-93176-0-72842500-1438846470_thumb.jpg

Поделиться сообщением


Ссылка на сообщение
Grohuf написал 2 минуты назад:

Но в си++ есть такая штука:

https://en.cppreference.com/w/cpp/atomic/memory_order

 

Не подскажешь зачем, если проблем с присваиванием-чтением инта не бывает?

 

Например потому что кроме инта есть другие типы

 

:roflanebalo:

 

Плюс это просто абстракция

 

Есть куча абстракций у которых одинаковая имплементация


towBCf6.pngimage.png.6f88ac9ad688355eb803ba0b32e309ca.pngimage.png.c05354238865437022b3e4a97a835dbd.pngimage.png.0e8329f2b07e208ae8ef4e3f6878d126.png

 

 

 

Поделиться сообщением


Ссылка на сообщение
Vova написал 1 минуту назад:

сли есть акции с мат ожиданием 5% и вклад с 5% гарантированным то вклад лучше

ничего не гарантировано. даже крах всей системы рф ("падение сбера без компенсаций по вкладам) возможен с вероятностью условные 0.001% в год

если мат ожидания равны - то при прочих равных это эквивалентные решения

я твой тезис понял, и в целом с сутью согласен

формально ты не прав. тк мат ожидание у "вклад с 5% гарантированным" ниже чем 5% потому что ничего не гарантировано (есть вероятность p != 0 что вклад просрется), а верхняя доходность вклада уже ограничена 5%

 


 

очень крутые котейки

RqvSzvr.png


Кому-то пизды дал - нужно сделать скрин обязательно. (с) Solo

Поделиться сообщением


Ссылка на сообщение
Vova написал 1 минуту назад:
Grohuf написал 5 минут назад:

Но в си++ есть такая штука:

https://en.cppreference.com/w/cpp/atomic/memory_order

 

Не подскажешь зачем, если проблем с присваиванием-чтением инта не бывает?

 

Например потому что кроме инта есть другие типы

 

:roflanebalo:

А они тут причем? ROFL. Кто-нибудь еще верит, что Вова работает в США за мегабаксы в секунду?

Just.Doit написал 1 минуту назад:

условные 0.001% в год

:onneponimaet:Учитывая, как часто государство ворует деньги у населения, ты чрезмерно оптимистичен

Поделиться сообщением


Ссылка на сообщение
Grohuf написал 1 минуту назад:
Vova написал 4 минуты назад:
Grohuf написал 7 минут назад:

Но в си++ есть такая штука:

https://en.cppreference.com/w/cpp/atomic/memory_order

 

Не подскажешь зачем, если проблем с присваиванием-чтением инта не бывает?

 

Например потому что кроме инта есть другие типы

 

:roflanebalo:

А они тут причем? ROFL. Кто-нибудь еще верит, что Вова работает в США за мегабаксы в секунду?

 

Ты долбаеб?

 

Ты дал ссылку на https://en.cppreference.com/w/cpp/atomic/memory_order

 

Там в описании интерфейса нет речи про int


towBCf6.pngimage.png.6f88ac9ad688355eb803ba0b32e309ca.pngimage.png.c05354238865437022b3e4a97a835dbd.pngimage.png.0e8329f2b07e208ae8ef4e3f6878d126.png

 

 

 

Поделиться сообщением


Ссылка на сообщение
Grohuf написал 3 минуты назад:

Как мне защититься от того, что какой-то долбоеб вызовет функцию не на том потоке - я не знаю.

точно также "найти все граничные случаи и обработать их в тесте". "вызвать на другом потоке" это просто один из корнер кейсов контекста вызова твоей функции

но как говорили выше тебе придется обдрочить весь код клоками/слипами/моками чтобы выразить эти граничные случаи в тесте.

 


 

очень крутые котейки

RqvSzvr.png


Кому-то пизды дал - нужно сделать скрин обязательно. (с) Solo

Поделиться сообщением


Ссылка на сообщение
Vova написал 1 минуту назад:
Grohuf написал 3 минуты назад:
Vova написал 5 минут назад:
Grohuf написал 9 минут назад:

Но в си++ есть такая штука:

https://en.cppreference.com/w/cpp/atomic/memory_order

 

Не подскажешь зачем, если проблем с присваиванием-чтением инта не бывает?

 

Например потому что кроме инта есть другие типы

 

:roflanebalo:

А они тут причем? ROFL. Кто-нибудь еще верит, что Вова работает в США за мегабаксы в секунду?

 

Ты долбаеб?

 

Ты дал ссылку на https://en.cppreference.com/w/cpp/atomic/memory_order

 

Там в описании интерфейса нет речи про int

:lol::lol::lol:

Ахахаха. Он реально не понимает, для чего барьеры

Поделиться сообщением


Ссылка на сообщение
Grohuf написал 1 минуту назад:
Vova написал 2 минуты назад:
Grohuf написал 5 минут назад:
Vova написал 7 минут назад:
Grohuf написал 11 минут назад:

Но в си++ есть такая штука:

https://en.cppreference.com/w/cpp/atomic/memory_order

 

Не подскажешь зачем, если проблем с присваиванием-чтением инта не бывает?

 

Например потому что кроме инта есть другие типы

 

:roflanebalo:

А они тут причем? ROFL. Кто-нибудь еще верит, что Вова работает в США за мегабаксы в секунду?

 

Ты долбаеб?

 

Ты дал ссылку на https://en.cppreference.com/w/cpp/atomic/memory_order

 

Там в описании интерфейса нет речи про int

:lol::lol::lol:

Ахахаха. Он реально не понимает, для чего барьеры

 

Понятно

 

Снова ты обосрался и слился

 

По факту будет что-то конкретное?

 

Твои memory_order у меня используются в коде несколько страниц назад долбаеб


towBCf6.pngimage.png.6f88ac9ad688355eb803ba0b32e309ca.pngimage.png.c05354238865437022b3e4a97a835dbd.pngimage.png.0e8329f2b07e208ae8ef4e3f6878d126.png

 

 

 

Поделиться сообщением


Ссылка на сообщение
Just.Doit написал 1 минуту назад:
Grohuf написал 7 минут назад:

Как мне защититься от того, что какой-то долбоеб вызовет функцию не на том потоке - я не знаю.

точно также "найти все граничные случаи и обработать их в тесте". "вызвать на другом потоке" это просто один из корнер кейсов контекста вызова твоей функции

но как говорили выше тебе придется обдрочить весь код клоками/слипами/моками чтобы выразить эти граничные случаи в тесте.

Есть куча многопоточных ошибок, которые тупо не воспроизводятся. Ты предлагаешь мне представить все возможные многопоточные ошибки, которые может допустить долбоеб, которые решит, что вот тут можно чуть-чуть оптимизировать? Я не знаю, как это сделать и я никогда не пишу код на потенциальные многопоточные ошибки (только валидирую, что моя изначальная многопоточная концепция класса работает). При этом для однопоточных ошибок - пишу, если кажется, что вероятность такой ошибки высока (естественно, все варианты я не покрываю).

Vova написал 2 минуты назад:
Grohuf написал 4 минуты назад:
Vova написал 5 минут назад:
Grohuf написал 8 минут назад:
Vova написал 10 минут назад:
Grohuf написал 14 минут назад:

Но в си++ есть такая штука:

https://en.cppreference.com/w/cpp/atomic/memory_order

 

Не подскажешь зачем, если проблем с присваиванием-чтением инта не бывает?

 

Например потому что кроме инта есть другие типы

 

:roflanebalo:

А они тут причем? ROFL. Кто-нибудь еще верит, что Вова работает в США за мегабаксы в секунду?

 

Ты долбаеб?

 

Ты дал ссылку на https://en.cppreference.com/w/cpp/atomic/memory_order

 

Там в описании интерфейса нет речи про int

:lol::lol::lol:

Ахахаха. Он реально не понимает, для чего барьеры

 

Понятно

 

Снова ты обосрался и слился

 

По факту будет что-то конкретное?

 

Твои memory_order у меня используются в коде несколько страниц назад долбаеб

Я по факту и сказал. Ты. Не понимаешь. Для чего. Барьеры. Памяти. Напрочь. Ибо по этой теме ты несешь просто лютейшую хуйню.

Поделиться сообщением


Ссылка на сообщение
(изменено)
Just.Doit написал 20 минут назад:

формально ты не прав. тк мат ожидание у "вклад с 5% гарантированным" ниже чем 5% потому что ничего не гарантировано (есть вероятность p != 0 что вклад просрется), а верхняя доходность вклада уже ограничена 5%

хотя точно также можно порассуждать что какой-то клерк или программист совершит ошибку и твои 5% по вкладу превратятся в 50% и поэтому все же стоит считать мат ожидание

если они равны, то это эквивалентные решения (при прочих равных)

Grohuf написал 12 минут назад:

Есть куча многопоточных ошибок, которые тупо не воспроизводятся.

формально - точно также код после рефакторинга может зависеть внутри себя на фазу луны и ты это не воспроизведешь пока не напоришься на фазу луны в момент запуска тестов. а тест будет зеленый 27 из 28 дней 

 

это звучит немного абсурдно, и вероятность того что такой код будет написан минимально, но возможна

я даже могу представить себе пример - пришел джун, и внутри функции решил замерять и залогировать время выполнения, делает это через system.time.now() и ошибся в арифмитических знаках и теперь иногда для некоторых значений часов происходит деление на ноль и бросается исключение

точно также ты это хуй воспроизведешь и никогда не узнаешь без анализа кода внутри или без падения на проде раз в тысячелетие

так что формально разницы я не вижу

 

то что это на "порядок" сложнее я согласен, настолько сложнее что почти нереально множество кейсов покрыть одному человеку за вменяемое время, также как и то что проще такой код не покрывать такими тестами, а изолировать от изменений + доказывать на бумаге. либо упрощать и покрывать тестами как вон выше предлагали с моками

 

в общем я согласен с твоими доводами с прагматической точки зрения, но не согласен с формальной

 


Изменено пользователем Just.Doit

 

очень крутые котейки

RqvSzvr.png


Кому-то пизды дал - нужно сделать скрин обязательно. (с) Solo

Поделиться сообщением


Ссылка на сообщение
Grohuf написал 14 минут назад:

Я по факту и сказал. Ты. Не понимаешь. Для чего. Барьеры. Памяти. Напрочь. Ибо по этой теме ты несешь просто лютейшую хуйню.

 

Ну хорошо

 

Тогда странно что я сразу увидел ошибку в презентации по memory_order которую сам же автор презентации потом подтвердил

 

Зато ты классно кукарекаешь тупыми вопросами типо "а зачем нужен std::memory_order если для int не разницы"

 

Следующим вопросом будет "а зачем нужна функция std::sqrt если для единицы нет разницы"?

 

Снова слился долбаебина? Ну ок


towBCf6.pngimage.png.6f88ac9ad688355eb803ba0b32e309ca.pngimage.png.c05354238865437022b3e4a97a835dbd.pngimage.png.0e8329f2b07e208ae8ef4e3f6878d126.png

 

 

 

Поделиться сообщением


Ссылка на сообщение

Вова и гроха про разное похоже опять.

Вова про то что нумерики немогут "некорректно" прочитаться/записаться. ЦП их пишет, и читает, атомарно.

Но пишет ядро только в свой персональный кеш, когда оно там еще дальше пойдет не известно.

А гроха про то что это не дает тебе логическую валидность раз. Когда один поток записал инт, другой чуть позже прочитал, но прочитал прошлое значение. И вот два потока с разными значениями работают.

И два, даже просто инкремент не гарантированно отработает. Когда много потоков будут пытаться инкрементить инт, часть инкрементов будет сжираться.

 

Не считая просто ебучих УБ.


ward написал 04.01.2022 в 02:54:

Hades для стада долбоебичей которые прокликивали Дэш и думали ебать они в артхаузнвй рогалик играют, не такие как все.

mazt3r написал 20.09.2019 в 11:27:

ласт оф ас - хуета для лисят и прочих мальчиков с вагиной между ног.

 

Поделиться сообщением


Ссылка на сообщение

эх, вот вот и вова пришёл бы к открытию, что в умном указателе счётчик "может" быть обычным типом. но пришёл тип сверху и всё засрал

Поделиться сообщением


Ссылка на сообщение

Простите :ponimau:


ward написал 04.01.2022 в 02:54:

Hades для стада долбоебичей которые прокликивали Дэш и думали ебать они в артхаузнвй рогалик играют, не такие как все.

mazt3r написал 20.09.2019 в 11:27:

ласт оф ас - хуета для лисят и прочих мальчиков с вагиной между ног.

 

Поделиться сообщением


Ссылка на сообщение
GoldRobot написал 48 минут назад:

Вова и гроха про разное похоже опять.

Вова про то что нумерики немогут "некорректно" прочитаться/записаться. ЦП их пишет, и читает, атомарно.

Но пишет ядро только в свой персональный кеш, когда оно там еще дальше пойдет не известно.

А гроха про то что это не дает тебе логическую валидность раз. Когда один поток записал инт, другой чуть позже прочитал, но прочитал прошлое значение. И вот два потока с разными значениями работают.

И два, даже просто инкремент не гарантированно отработает. Когда много потоков будут пытаться инкрементить инт, часть инкрементов будет сжираться.

 

Не считая просто ебучих УБ.

Мы не можем говорить про "разное". Речь конкретно шла с самого начала про разные fence'ы. Чел в видео про них и говорил. Вова понес хуйню, что запись инта является атомарной операцией и барьеры нужны для сложных типов. Что лютая тупость. Барьеры нужны против кэшей и перестановки операций. Я ему тупо скинул ссылку, где все написано, но он ее осилить не смог. Что говорит о том, что он идиот. То есть тупее даже, чем голдробот, который получает два огра, но в барьерах разобрался.

Что там было написано на си++, я не знаю, ибо ссылки не увидел. Но не удивлюсь, что там используется атомарная операция присваивания, которая на x86 всегда делает полный барьер и там похуй, какие ты рекомендации ты указывал по memory_order.

Поделиться сообщением


Ссылка на сообщение

@Vova

Смотри что нашел!

https://learn.microsoft.com/en-us/windows/win32/api/winnt/nf-winnt-interlockedexchange

Совсем ебанулись, да? Они че, не знают, что 32 битные значения на 32 битных компьютерах записываются АТОМАРНО! Они для этого функцию сделали, хотя уже 386 были 32 битным. Ахахаха, всегда знал, что Билл Гейтс - шизик.

Olololnet понравилось это

Поделиться сообщением


Ссылка на сообщение

@Vova

А смотри, что еще нашел:

https://en.wikipedia.org/wiki/Transactional_Synchronization_Extensions#:~:text=Hardware Lock Elision (HLE) is,execution of transactional code regions

Это что же получается? Acquire и Release есть не только на PowerPC получается? :huyase: Что вообще происходит? :monkagiga: Нафига нужны эти команды? Они же только да сложных объекто, да?! :BlessRNG:

Поделиться сообщением


Ссылка на сообщение

Что вы тут развели

5 человек в топике сидит

4 из них душные токсики

 

GoldRobot и iMbanana понравилось это

VyMEtE8XtOI.jpg

  лучшая цитата финта+жизненная

XbkBCDXetHY.jpg

Поделиться сообщением


Ссылка на сообщение

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Восстановить форматирование

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Загрузка...

×
×
  • Создать...