Видел такое. Типичный "фикс" - это sleep запихнуть. В дебаге всё работает, потому что в этом месте какой-то print в Log есть, и вся синхронизация тредов работает хорошо.
А теперь признайтесь - сколько у вас в коде sleep таких зарыто?
Напомнило, на одном серьёзном проекте надо было тестировать ещё и пользовательскую документацию. QA-девочка с задачей справлялись сильно лучше мальчиков, потому что они реально выполняли команды буквы в букву "cd ..." и такого каталога нет ;-) а мальчик даже не будет такое проверять, всё же норм.
С таким ручным layout вы легко можете нарваться на операцию чтения/записи по невыровненному адресу. А если вы ешё руками начнёте делать reinterpret_cast, то проблемы type punning, strict aliasing, ...
Хорошо что вы про std::bitcast упомянули, но статья была бы намного интереснее, если рассказали про std::launder, std::start_lifetime_as, etc. Иначе тема не раскрыта.
А каким тут боком тэг Си++ тут стоит? Нам, плюсовикам, немного чуждый ваш мир фронт-энда. Хотя, прочитав статью, нашёл нечто похожее, что делали в играл, которые на С/С++, чтобы грузить уровень не целиком, ожидая полминуты, а по ходу пьесы.
А как мне асинхронищину на Boost::ASIO переписать на этот новый "stdexec"? Мне никто не предлагает pool/epoll/uring/.... Наверное, пул-тредов для файловых операций, будет интересно, но сетевые вещи как?
Пушкенка (pushkin.local) - это особый случай локалки в федо. Она честно выполняла свою обязанность быть локалкой, т.е. распространяться среди линков узла. Особенно там было супер много (однодневных) поентов, полученных на автомате. Но даже из нескольких сотен "зевак", пришедших по авторегистрации из приложки (HotDogEd), задержались в федо с десяток. Потом локалка расползлась дальше по хабам, и стала наравне бонной эхи. Когда Пушкен само-выпил-ился из федонетовки, то эха продолжила своё существование уже как ящерица без головы (т.е. хвоста). Естессно, когда безмодераторная эха расходится по многим узлам, то нашлись желающие свои потоки ховн туда постить.
Статья про то, что современный компилятор из нашей наивной реализации memcpy(), с побайтным копированием, на -O3 оптимизации, сделает SIMD оптимизированную версию. Причём напишет версию очень похожую на libc с intrinsics, где скопирует начало до выровненного участка, дальше 512-битными числами, если AVX-512 есть, и так далее, и в конце хвостовую часть.
Каждый компилятор обычно предоставляет свой builtin __builtin_memcpy, который при передачи ему constexpr длины, заранее знает, какими большими регистрами ему копировать, без рантайм ветвлений.
Фича std::array, по сравнению с указателем на память, в том, что есть constexpr значение размера, и компилятор знает как именно скопировать лучше.
Да, на самой дешёвой VPS, на free tier, можно делать ноду на много линков. Есть несколько больших линков на малинке, на роутере, на NAS.
Кстати, фидо на интернет-транспорте может гонять жирные файлэхи с кинчиками, и эхи с ююками (да-да, ещё такое практикуется). Такие эхи/файлэхи модемом уже не утянешь.
зачем в интернетной ФИДО становиться нодой. Как поинт ты получаешь ту же романтику (если смотреть со стороны редактора эх).
Нод может устанавливать линки с другими нодами. А в "интернетной ФИДО" вообще междугородние/международные. Поинт может иметь линк только со своим боссом. У босса может не быть каких-то эх, тогда надо его просить где-то установить линк и подписаться, или получать ещё пойнта на другом узле.
Хоть через ту ж дискету почту с поинта на ноду переноси
Сначала это называлось флоппонетом, потом флешконетом, а потом случилось так, что перестали в гости к друг другу ходить. Всё ушло в интернет - онлайн фотоальбомы, вместо походов в гости с пролистыванием распечатанных в местной фотолабе Кодек/Фудж фотоальбоме.
В фидо каждый может реализовать одно, или чаще несколько потребностей, см. ниже, но только первые две можно реализовать в соц.сетях и мессенджерах, не являясь сотрудником Яндекса, Вконтакте или Телеграмма.
Поглотить контент. К сожалению, в фидо проблема номер один, что контента сейчас мало. Но в общем, пообщаться на темы старых компов, синклеров, OS/2, модемов, вспомнить про жвачку Турбо/Лавис, и часы Монтана, посраться на теме политики - всё имеется.
Создать контент. Личных блог - это твоя локалка, тематические эхи (к сожалению трафик не велик), или просто болтовня. Есть мысли? Изложи их в текстовом виде, и найдутся единомышленники, которые тебе ответят, или хорошенько раскритикуют, что и является той самой сетью друзей :-)
Побыть на административной должности. От модератора в эхе, до полной иерархии координаторов (кстати, Дед уже не молод). Можешь восстановить сеть в своём городе, и стать NC. Может взять ту самую расстрельную должность PRC, было бы желание. Можно стать администратором местного сборщика поинт-листа - административных должностей в фидо хватает, прокачка ЧСВ обеспечена!
Побыть СисАдмином (девопсом). Нравятся линуксы, пишешь скрипты? Можно и на виндовзе. Любишь собирать софт и запихивать в контейнеры? Да запросто, если тебе этого на работе не хватает, или у тебя профессиональный род занятий другой - тут ты сисоп своего мега узла, из 10 телефонных линий, гейтуешь из всех протоколов во все - ЧСВ уже проламывает крышу, выше только небо.
Побыть программистом. Получил диплом инженера, писал диплом на C или Паскале, а сегодня не работаешь по специальности? Да и без диплома если. Тут тебе готовый челлендж - неполноценные спеки в виде FTSC, попарсить бинарные данные, байты, биты, почувствуй себя яж-программист! Ну да, можешь написать своего бота для соцсети, но этож не то! Там тебе дали какой-то API, а тут ты сам API свой изобретаешь, даже можешь потом в FTSC протолкнуть. Можешь ноды разные /128 получать под своё творение, и ты попробуй такое в телеграмме провернуть!
Пушкен, словил хайпа на создании приложки. Это был его первый опыт в Джава/Котлин, и вообще приложек. Кайф фидо - ты можешь пейсать подакшен код, который не пройдёт кодревью, но это твой пет-прожект же.
ХотогЕд не работает под современными ведроидами, и код аффтор не хочет раскрывать. Код, в общей массе основан на мейлере и тоссере JNode, но потом он натащил гуя, и прочего кода, который не очень с лицензиями дружит.
Когда случился день Икс (2022), и заплатить за иностранные хостинги стало чуть сложно, то Пушкен нашёл само-объяснение само выпилу. Локалка в фидо - продолжила существовать, после удаления узла из нодлиста, просто потому, что она уже расползлась почти по всем узлам.
Таки большое число узлов фидонета сегодня работает на OS/2. Причём не на новоделе ArcaOS, а на кашерном Warp 4. Ой, а уж сколько всего написано на REXX!!!
Есть два варианта собирать (фидо) софт под OS/2 сегодня - Open Watcom v2 (даже под сомнением C++98) и EMX GCC (C++17 можно запросто сделать).
Таки причём тут C++? Опять хештеги путаете?
Задача на собеседовании - что выдаст на экран эта программа ;-)
Но это, конечно, обфускация и ненормативное программирование.
Видел такое. Типичный "фикс" - это sleep запихнуть. В дебаге всё работает, потому что в этом месте какой-то print в Log есть, и вся синхронизация тредов работает хорошо.
А теперь признайтесь - сколько у вас в коде sleep таких зарыто?
Напомнило, на одном серьёзном проекте надо было тестировать ещё и пользовательскую документацию. QA-девочка с задачей справлялись сильно лучше мальчиков, потому что они реально выполняли команды буквы в букву "cd ..." и такого каталога нет ;-) а мальчик даже не будет такое проверять, всё же норм.
С таким ручным layout вы легко можете нарваться на операцию чтения/записи по невыровненному адресу. А если вы ешё руками начнёте делать reinterpret_cast, то проблемы type punning, strict aliasing, ...
Хорошо что вы про std::bitcast упомянули, но статья была бы намного интереснее, если рассказали про std::launder, std::start_lifetime_as, etc. Иначе тема не раскрыта.
А каким тут боком тэг Си++ тут стоит?
Нам, плюсовикам, немного чуждый ваш мир фронт-энда. Хотя, прочитав статью, нашёл нечто похожее, что делали в играл, которые на С/С++, чтобы грузить уровень не целиком, ожидая полминуты, а по ходу пьесы.
А как мне асинхронищину на Boost::ASIO переписать на этот новый "stdexec"? Мне никто не предлагает pool/epoll/uring/.... Наверное, пул-тредов для файловых операций, будет интересно, но сетевые вещи как?
Стандарт тупо ещё не умеет работать с юникодом, с файлами в разных кодировках. Потом уже будет сеть и всё остальное.
Тема C++17 не раскрыта. Пост про трудовые будни геймдева, и про плюсы тут только, что долго собирается. Пишите на голом Си.
Пушкенка (pushkin.local) - это особый случай локалки в федо. Она честно выполняла свою обязанность быть локалкой, т.е. распространяться среди линков узла. Особенно там было супер много (однодневных) поентов, полученных на автомате. Но даже из нескольких сотен "зевак", пришедших по авторегистрации из приложки (HotDogEd), задержались в федо с десяток. Потом локалка расползлась дальше по хабам, и стала наравне бонной эхи. Когда Пушкен само-выпил-ился из федонетовки, то эха продолжила своё существование уже как ящерица без головы (т.е. хвоста). Естессно, когда безмодераторная эха расходится по многим узлам, то нашлись желающие свои потоки ховн туда постить.
Статья про то, что современный компилятор из нашей наивной реализации
memcpy()
, с побайтным копированием, на-O3
оптимизации, сделает SIMD оптимизированную версию. Причём напишет версию очень похожую на libc с intrinsics, где скопирует начало до выровненного участка, дальше 512-битными числами, если AVX-512 есть, и так далее, и в конце хвостовую часть.Каждый компилятор обычно предоставляет свой builtin
__builtin_memcpy
, который при передачи ему constexpr длины, заранее знает, какими большими регистрами ему копировать, без рантайм ветвлений.Фича std::array, по сравнению с указателем на память, в том, что есть constexpr значение размера, и компилятор знает как именно скопировать лучше.
Нет, здесь не алгоритм
std::partial_sum
, где каждое следующее значение зависит от предыдущего, как CRC32 какой-нибудь, и впихнуть SIMD не получится.Функция
transform()
в этой статье делает операции независимо от предыдущих, и может быть полностью выполняться параллельно.Убийца Си? Ох уж сколько их было, и каждый год по три штуки появляется.
New C --> D тогда уже.
Да, на самой дешёвой VPS, на free tier, можно делать ноду на много линков. Есть несколько больших линков на малинке, на роутере, на NAS.
Кстати, фидо на интернет-транспорте может гонять жирные файлэхи с кинчиками, и эхи с ююками (да-да, ещё такое практикуется). Такие эхи/файлэхи модемом уже не утянешь.
До сих пор активна. Проходите на процедурочку.
Нод может устанавливать линки с другими нодами. А в "интернетной ФИДО" вообще междугородние/международные. Поинт может иметь линк только со своим боссом. У босса может не быть каких-то эх, тогда надо его просить где-то установить линк и подписаться, или получать ещё пойнта на другом узле.
Сначала это называлось флоппонетом, потом флешконетом, а потом случилось так, что перестали в гости к друг другу ходить. Всё ушло в интернет - онлайн фотоальбомы, вместо походов в гости с пролистыванием распечатанных в местной фотолабе Кодек/Фудж фотоальбоме.
В фидо каждый может реализовать одно, или чаще несколько потребностей, см. ниже, но только первые две можно реализовать в соц.сетях и мессенджерах, не являясь сотрудником Яндекса, Вконтакте или Телеграмма.
Поглотить контент.
К сожалению, в фидо проблема номер один, что контента сейчас мало. Но в общем, пообщаться на темы старых компов, синклеров, OS/2, модемов, вспомнить про жвачку Турбо/Лавис, и часы Монтана, посраться на теме политики - всё имеется.
Создать контент.
Личных блог - это твоя локалка, тематические эхи (к сожалению трафик не велик), или просто болтовня. Есть мысли? Изложи их в текстовом виде, и найдутся единомышленники, которые тебе ответят, или хорошенько раскритикуют, что и является той самой сетью друзей :-)
Побыть на административной должности.
От модератора в эхе, до полной иерархии координаторов (кстати, Дед уже не молод). Можешь восстановить сеть в своём городе, и стать NC. Может взять ту самую расстрельную должность PRC, было бы желание. Можно стать администратором местного сборщика поинт-листа - административных должностей в фидо хватает, прокачка ЧСВ обеспечена!
Побыть СисАдмином (девопсом).
Нравятся линуксы, пишешь скрипты? Можно и на виндовзе. Любишь собирать софт и запихивать в контейнеры? Да запросто, если тебе этого на работе не хватает, или у тебя профессиональный род занятий другой - тут ты сисоп своего мега узла, из 10 телефонных линий, гейтуешь из всех протоколов во все - ЧСВ уже проламывает крышу, выше только небо.
Побыть программистом.
Получил диплом инженера, писал диплом на C или Паскале, а сегодня не работаешь по специальности? Да и без диплома если. Тут тебе готовый челлендж - неполноценные спеки в виде FTSC, попарсить бинарные данные, байты, биты, почувствуй себя яж-программист! Ну да, можешь написать своего бота для соцсети, но этож не то! Там тебе дали какой-то API, а тут ты сам API свой изобретаешь, даже можешь потом в FTSC протолкнуть. Можешь ноды разные /128 получать под своё творение, и ты попробуй такое в телеграмме провернуть!
Пушкен, словил хайпа на создании приложки. Это был его первый опыт в Джава/Котлин, и вообще приложек. Кайф фидо - ты можешь пейсать подакшен код, который не пройдёт кодревью, но это твой пет-прожект же.
ХотогЕд не работает под современными ведроидами, и код аффтор не хочет раскрывать. Код, в общей массе основан на мейлере и тоссере JNode, но потом он натащил гуя, и прочего кода, который не очень с лицензиями дружит.
Когда случился день Икс (2022), и заплатить за иностранные хостинги стало чуть сложно, то Пушкен нашёл само-объяснение само выпилу. Локалка в фидо - продолжила существовать, после удаления узла из нодлиста, просто потому, что она уже расползлась почти по всем узлам.
Таки большое число узлов фидонета сегодня работает на OS/2. Причём не на новоделе ArcaOS, а на кашерном Warp 4. Ой, а уж сколько всего написано на REXX!!!
Есть два варианта собирать (фидо) софт под OS/2 сегодня - Open Watcom v2 (даже под сомнением C++98) и EMX GCC (C++17 можно запросто сделать).