Не считаю все это умным домом. Умный дом это у Старка в первой части Железного человека. А это так, умные выключатели.
Видел тут систему климатическую в доме у товарища. Почти 500 квадратов, каждое помещение разбито до 27 климатических отдельных зон. Десятки скрытых датчиков, трекинг камеры и нейросетка обучена делать так чтоб климат был ровный сверху и снизу.
Настолько там заморочились, что сама система понижает / повышает влажность/температуру относительно внешней среды и наличия людей, а когда ты спишь температуру делает у ног ниже, а в районе головы выше. И все это без единого нажатия какой-то кнопки.
И вот это все куда более умный дом чем то о чем пишется в статье.
Пс: Я конечно офигел от всего этого, товарищ доволен…а я когда ушел думаю: «я че в будущем побывал»
Кстати, очень хороший пример это игры. Игровые процессоры имеют большую частоту на ядро, серверные имеют порой в 10-ки раз больше ядер чем в игровых, но меньшую частоту. Если пойти по математике, то серверный проц ставит на лопатки при формуле [частота] x [кол-во ядер]
Но, когда ты запускаешь игру оказывается что игры заточены на маленькое количество ядер и зачастую там 2-4 CPU используется и это потолок (думаю это связано с тем самым параллельным вычислением и сложностью синхронизации). И при всем при этом параллельности как бэ нет (по мнению автора), но в игре происходит гиганское количество событий(вычислений) одновременно, хотя по логике их должно быть не более чем [количество ядер] в использовании. Магия видимо
Плюсую. Кстати тоже заблуждение у людей которые занимаются многопоточным исполнением. Они создают условно программу где есть 4 потока и заключение: эта программа должна работать на 4 ядрах чтобы все было хорошо и быстро. А потом оказывается что утилизация самих вычислений настолько мизерная что на одном ядре это все заводится и никаких проблем с производительностью нет...а часто она еще больше, т.к ОС тоже нужно время чтобы распихать потоки по разным ядрам.
Это намек на то что процессор выполняет все инструкции по очереди? или я неправильно понял? Если да, то это слишком душно.
Безусловно ядро со всеми сопроцессорами (математики и тд) работает линейно, но там скорости такие что либо называть это магией, либо все таки многопоточным исполнением.
Интересный нюанс, т.к получается теорию надо знать очень хорошо и понимать структуру. Если в Golang при попытке сделать данное деяние ты получишь панику с описанием что попытка перезаписать то что перезаписывается другим потоком. Но в C++ получается ты должен это сам изначально понимать и если опыта нет, то долго потом будешь как дурак искать ошибку.
А можно мне ответить на вопрос. Есть переменная, 10 потоков в эту переменную без мютексов начинают писать свое. Это на C++ вызывает панику или нет? Просто на golang – 100% паника. Я ради праздного любопытства для себя сравниваю C++ и Golang
На первый взгляд исходя из контекста статьи это 2 строчки кода Golang + само тело функции которое что-то там делает. Я С++ очень плохо знаю, поэтому вы мне скажите на словах что должна делать функция (какое действие), я напишу вам код на Golang. Просто вы в статье не описали что конкретно делает функция кроме какого-то там счетчика
У меня один вопрос к ребятам кто юзает чатгпт для технических статей. Почему еще никто не додумался после описания задачи добавлять в конце «напиши мне в стиле тарантино или типа того». Было бы интересно почитать техничку в таком формате ;)
Сам сижу на golang и многопоточность там сильно проще (каналы и тд)
Начинаю читать статью и после слов:
Ничто не предвещало беды, когда при увеличении числа потоков и достаточной длительности работы теста время от времени значение общей переменной-счетчика (далее просто счетчика) перестало быть правильным.
Понюхал, отчетливо пахнет Race condition. Спустился в комменты, а тут прям «воняет». Дальше статью не читал, комментов достаточно.
Но добавлю вот что: какие только костыли я не видел которые вставляют в код чтобы решить эту проблему. Из самого безобидного когда расставляют sleep в коде, чтоб не дай бог не было доступа одновременного или одна функция не перегнала другую
Но проблема обычно в фундаментальном непонимании и/или неправильном представлении самой многопоточности.
PS: Все таки прочитал статью, ну сюр. C++ не знаю и мне сложно оценить прям код и решение проблемы на C++. Но емае, вывод просто шедеврален:
При общении друг с другом - многократно. Контролировать подобный коллектив весьма сложно (вспомним начало статьи [3]). Теория убеждает и даже доказывает, что вряд ли вообще такое возможно. По отношению к потокам, конечно.
Тут статья на хабре есть, как сделали реализацию каналов как в Golang на c++. И нормально там потоки общаются и в ус не дуют. И нет никаких там проблем с тем чтоб так называемый вами «коллектив» контролировать. Я верю, что на c++ есть и другие решения, но как минимум одно есть прям готовое и на хабре, без всяких велосипедов.
Автору желаю добра и все таки изучить матч часть. Велосипеды это здорово и интересно, но иногда быстрее поехать на машине.
PS: сейчас задумался, почему я не знаю C++, но знаю что на хабре статья про каналы как в go для многопоточности.
Я чуть выше написал в чем суть. Я вот по своему опыту скажу, что маршрут LTE > WG Москва > еще один туннель WG Финляндия > нельзяграмм работает быстрее раза в 2 чем VMESS напрямую на финку с телефона. Просто из-за наличия HTTP/3 полноценного
При этом пинг с моего телефона в один момент времени до инсты через WG выше на 4-5мс чем через VMESS
Я говорю именно об ощущения, как лента грузиться и тд.
Но настройка всего этого - отдельная песня. Безусловно vless настроиьь быстрее чем различные таблицы маршрутизации + dnsmasq
Я понимаю ваш вопрос. Лично я не переживаю потому что:
Это не незнакомые люди
Я жестко ограничил маршрутизацию. Там только то что «популярно» у многих. Вот эта история с впн в обход всего - не ко мне. Как показала практика людям нужен тикток, еще кое что популярное, чатгпт и не тормозящие картинки на ютубчике + всякие фильмопомойки + нетфликс
Как сказали выше, есть модифицированный против DPI. Вообще, насколько мне известно WG в РФ не блокируется. Т.е блокируют только тот который зарубеж уходит. Видимо после ковровых блокировок, решили подойти с головой чтобы не обрушить все нафиг.
Отсюда появляются интересные варианты - а именно WG туннель к себе в рф, там роутить трафик. А чтобы зарубеж еще один туннель с модификацией если нужно из первой точки
Я лично тестил этот вопрос. Более того скажу что Vless + Reality уступает классическому SS
Если взять спидтестом прогнать трафик, то цифры очень похожие. Ну к примеру у вас 200мбит на впс, что WG, что Vless будет показывать скорость близкую к максимуму если сама VPS тянет.
Но стоит все таки внимательно смотреть не на макс скорость, а на Jitter и скорость пинга через эти протоколы…и вот тут самое интересное. Jitter на Vless - американские горки с запредельными значениями
Второе, что тоже важно - WG это все таки туннель. А это значит вы можете получить чистый HTTP/3 который улучшить комфорт и скорость доступа, особенно на мобильных операторах.
У вас может ошибка выжившего, а 85 человек из пяти регионов РФ сидят на моих SS серверах и не имеют никаких проблем. Домашние, сотовые операторы, все разное
Я питон не люблю, да и не знаю если честно. Но для примера - Tensorflow имеет интерфейс С++, Python или nodejs.
Знаю ноду и go. Но при этом использовал интерфейс Python потому что он не сложный, с помощью примеров смог быстро разобраться как подготовить и запустить обучение TF.
К сожалению, Python медленный шопипец и я через .so импорт сделал как описано в статье. Go подготовливает данные, Python их просто принимает и отправляет на TF
Разбираться как это сделать через C++ - извините, я слишком тупой для этого.
Это один из кейсов которые можно использовать. И думаю кейсов еще всяких разных где есть требования в наличии «Пайтоне», но еще нужна и скорость приложения - много
Не считаю все это умным домом. Умный дом это у Старка в первой части Железного человека. А это так, умные выключатели.
Видел тут систему климатическую в доме у товарища. Почти 500 квадратов, каждое помещение разбито до 27 климатических отдельных зон. Десятки скрытых датчиков, трекинг камеры и нейросетка обучена делать так чтоб климат был ровный сверху и снизу.
Настолько там заморочились, что сама система понижает / повышает влажность/температуру относительно внешней среды и наличия людей, а когда ты спишь температуру делает у ног ниже, а в районе головы выше. И все это без единого нажатия какой-то кнопки.
И вот это все куда более умный дом чем то о чем пишется в статье.
Пс: Я конечно офигел от всего этого, товарищ доволен…а я когда ушел думаю: «я че в будущем побывал»
Кстати, очень хороший пример это игры. Игровые процессоры имеют большую частоту на ядро, серверные имеют порой в 10-ки раз больше ядер чем в игровых, но меньшую частоту. Если пойти по математике, то серверный проц ставит на лопатки при формуле [частота] x [кол-во ядер]
Но, когда ты запускаешь игру оказывается что игры заточены на маленькое количество ядер и зачастую там 2-4 CPU используется и это потолок (думаю это связано с тем самым параллельным вычислением и сложностью синхронизации). И при всем при этом параллельности как бэ нет (по мнению автора), но в игре происходит гиганское количество событий(вычислений) одновременно, хотя по логике их должно быть не более чем [количество ядер] в использовании. Магия видимо
Можно буду душным. Какие такие ситуации когда надо сделать намеренно гонку данных. Я сидел думал и не придумал.
Получается программа рандомайзер...
Плюсую. Кстати тоже заблуждение у людей которые занимаются многопоточным исполнением. Они создают условно программу где есть 4 потока и заключение: эта программа должна работать на 4 ядрах чтобы все было хорошо и быстро. А потом оказывается что утилизация самих вычислений настолько мизерная что на одном ядре это все заводится и никаких проблем с производительностью нет...а часто она еще больше, т.к ОС тоже нужно время чтобы распихать потоки по разным ядрам.
Это намек на то что процессор выполняет все инструкции по очереди? или я неправильно понял? Если да, то это слишком душно.
Безусловно ядро со всеми сопроцессорами (математики и тд) работает линейно, но там скорости такие что либо называть это магией, либо все таки многопоточным исполнением.
Интересный нюанс, т.к получается теорию надо знать очень хорошо и понимать структуру. Если в Golang при попытке сделать данное деяние ты получишь панику с описанием что попытка перезаписать то что перезаписывается другим потоком. Но в C++ получается ты должен это сам изначально понимать и если опыта нет, то долго потом будешь как дурак искать ошибку.
Спасибо
А можно мне ответить на вопрос. Есть переменная, 10 потоков в эту переменную без мютексов начинают писать свое. Это на C++ вызывает панику или нет? Просто на golang – 100% паника. Я ради праздного любопытства для себя сравниваю C++ и Golang
На первый взгляд исходя из контекста статьи это 2 строчки кода Golang + само тело функции которое что-то там делает. Я С++ очень плохо знаю, поэтому вы мне скажите на словах что должна делать функция (какое действие), я напишу вам код на Golang. Просто вы в статье не описали что конкретно делает функция кроме какого-то там счетчика
У меня один вопрос к ребятам кто юзает чатгпт для технических статей. Почему еще никто не додумался после описания задачи добавлять в конце «напиши мне в стиле тарантино или типа того». Было бы интересно почитать техничку в таком формате ;)
Сам сижу на golang и многопоточность там сильно проще (каналы и тд)
Начинаю читать статью и после слов:
Понюхал, отчетливо пахнет Race condition. Спустился в комменты, а тут прям «воняет». Дальше статью не читал, комментов достаточно.
Но добавлю вот что: какие только костыли я не видел которые вставляют в код чтобы решить эту проблему. Из самого безобидного когда расставляют sleep в коде, чтоб не дай бог не было доступа одновременного или одна функция не перегнала другую
Но проблема обычно в фундаментальном непонимании и/или неправильном представлении самой многопоточности.
PS: Все таки прочитал статью, ну сюр. C++ не знаю и мне сложно оценить прям код и решение проблемы на C++. Но емае, вывод просто шедеврален:
Тут статья на хабре есть, как сделали реализацию каналов как в Golang на c++. И нормально там потоки общаются и в ус не дуют. И нет никаких там проблем с тем чтоб так называемый вами «коллектив» контролировать. Я верю, что на c++ есть и другие решения, но как минимум одно есть прям готовое и на хабре, без всяких велосипедов.
Автору желаю добра и все таки изучить матч часть. Велосипеды это здорово и интересно, но иногда быстрее поехать на машине.
PS: сейчас задумался, почему я не знаю C++, но знаю что на хабре статья про каналы как в go для многопоточности.
У меня и то, и то есть и обычный SS. Разница ощутимая, уж поверьте мне.
И у меня не пол ядра, а целый сервер
Я чуть выше написал в чем суть. Я вот по своему опыту скажу, что маршрут LTE > WG Москва > еще один туннель WG Финляндия > нельзяграмм работает быстрее раза в 2 чем VMESS напрямую на финку с телефона. Просто из-за наличия HTTP/3 полноценного
При этом пинг с моего телефона в один момент времени до инсты через WG выше на 4-5мс чем через VMESS
Я говорю именно об ощущения, как лента грузиться и тд.
Но настройка всего этого - отдельная песня. Безусловно vless настроиьь быстрее чем различные таблицы маршрутизации + dnsmasq
Да без разницы как вы там настроили. Скорость не имеет значение вообще. Имеет значение как раз:
а) возможность HTTP/3
б) стабильность потока данных
И тут WG ставит просто на лопатки, увы. Притом мы говорим не «чу-чуть», а прям в разы
Я понимаю ваш вопрос. Лично я не переживаю потому что:
Это не незнакомые люди
Я жестко ограничил маршрутизацию. Там только то что «популярно» у многих. Вот эта история с впн в обход всего - не ко мне. Как показала практика людям нужен тикток, еще кое что популярное, чатгпт и не тормозящие картинки на ютубчике + всякие фильмопомойки + нетфликс
Как сказали выше, есть модифицированный против DPI. Вообще, насколько мне известно WG в РФ не блокируется. Т.е блокируют только тот который зарубеж уходит. Видимо после ковровых блокировок, решили подойти с головой чтобы не обрушить все нафиг.
Отсюда появляются интересные варианты - а именно WG туннель к себе в рф, там роутить трафик. А чтобы зарубеж еще один туннель с модификацией если нужно из первой точки
Уступает.
Я лично тестил этот вопрос. Более того скажу что Vless + Reality уступает классическому SS
Если взять спидтестом прогнать трафик, то цифры очень похожие. Ну к примеру у вас 200мбит на впс, что WG, что Vless будет показывать скорость близкую к максимуму если сама VPS тянет.
Но стоит все таки внимательно смотреть не на макс скорость, а на Jitter и скорость пинга через эти протоколы…и вот тут самое интересное. Jitter на Vless - американские горки с запредельными значениями
Второе, что тоже важно - WG это все таки туннель. А это значит вы можете получить чистый HTTP/3 который улучшить комфорт и скорость доступа, особенно на мобильных операторах.
У вас может ошибка выжившего, а 85 человек из пяти регионов РФ сидят на моих SS серверах и не имеют никаких проблем. Домашние, сотовые операторы, все разное
Я питон не люблю, да и не знаю если честно. Но для примера - Tensorflow имеет интерфейс С++, Python или nodejs.
Знаю ноду и go. Но при этом использовал интерфейс Python потому что он не сложный, с помощью примеров смог быстро разобраться как подготовить и запустить обучение TF.
К сожалению, Python медленный шопипец и я через .so импорт сделал как описано в статье. Go подготовливает данные, Python их просто принимает и отправляет на TF
Разбираться как это сделать через C++ - извините, я слишком тупой для этого.
Это один из кейсов которые можно использовать. И думаю кейсов еще всяких разных где есть требования в наличии «Пайтоне», но еще нужна и скорость приложения - много
Пока пользуемся SS, намеков на блоки нет даже в то время когда WG отваливался по всей России. Как залочат, будем решать.
Думаю не стоит тратить время и искать их там, 99% что там нет