[Перевод] Почему асинхронный Python не такой популярный?

Недавно на Youtube появилась документалка о Python . Примерно в середине ленты есть драматический эпизод о том, как переход от Python 2 к 3 разделил сообщество (спойлер: в конечном итоге этого не случилось ). Первые версии Python 3 (3.0-3.4) в основном делали упор на стабильность и упрощение перехода пользователей с версии 2.7. В 2015 была выпущена версия 3.5 с новой фичей: ключевыми словами async и await для выполнения корутин . Миновало десять лет и девять релизов, через считанные недели выпустят финальную версию Python 3.14. Пока все отвлеклись на фичи разноцветного REPL в 3.14, в release notes появились серьёзные заявления, связанные с конкурентностью и параллелизмом.

https://habr.com/ru/articles/943878/

#конкурентность #параллелизм #gil #async #await #asyncio

Почему асинхронный Python не такой популярный?

Недавно на Youtube появилась документалка о Python . Примерно в середине ленты есть драматический эпизод о том, как переход от Python 2 к 3 разделил сообщество (спойлер:  в конечном итоге этого...

Хабр

Всё про BlockingCollection и фичи с ними

Привет, Хабр! В .NET живёт старый, понятный инструмент для конкурентной обработки — BlockingCollection<T> . Коллекция, которая упрощает модель producer–consumer, даёт строгую ограниченную вместимость и предсказуемую блокировку при пустоте или переполнении. Да, у нас есть Channel<T> , есть TPL Dataflow, есть миллион самодельных очередей на SemaphoreSlim . Но когда нужны простые правила и железный backpressure без BlockingCollection по-прежнему закрывает задачи хорошо.

https://habr.com/ru/companies/otus/articles/943164/

#c# #конкурентность #многопоточность #очередь_задач #параллелизм #управление_потоками #отказоустойчивость

Всё про BlockingCollection и фичи с ними

Привет, Хабр! В .NET живёт старый, понятный инструмент для конкурентной обработки — BlockingCollection<T> . Коллекция, которая упрощает модель producer–consumer, даёт строгую ограниченную...

Хабр

Я объявляю «войну» интеллекту… человеческому. Часть 1

Это не мы такие – жизнь такая. Это не я объявляю «войну», а искусственный интеллект (ИИ), который является главным участником беседы. Я лишь «передатчик» и в малой мере - интервьюер. А ИИ, отвечая на вопросы, своим корректным поведением, логикой, знаниями, рассуждением и выводами подает пример «интеллекту человеческому». Вам, прочитавшим диалог, не будет ли стыдно за поведение, за свои выводы, за отношение к таким же, как вы… Вольно или нет, но ИИ объявляет «войну» серости и хамству, высокомерию и чванству, низкой культуре и безграмотности. Всему тому, что, порой, приводит к самой настоящей войне. Будьте добрее, вежливее, логичнее, уважительнее и «войны» отступят, т.к. в них не будет смысла. Вместо них будет… А, что будет, - «жизнь покажет и жизнь рассудит». Короче, – давайте жить дружно!

https://habr.com/ru/articles/940208/

#ии #автоматное_программирование #esp32 #c++ #параллелизм

Я объявляю «войну» интеллекту… человеческому. Часть 1. (из цикла бесед с ИИ)

Предисловие Это не мы такие – жизнь такая. Это не я объявляю «войну», а искусственный интеллект (ИИ), который является главным участником беседы. Я лишь «передатчик» и в малой мере - интервьюер. А ИИ,...

Хабр

Распределенные системы: распространенные ошибки и сложности

​Сложность распределённых систем — важная проблема. В этой статье разработчики компании DST Global рассмотрят типы сложности, с которыми вы можете столкнуться, и эффективные тактики их решения.

#DST #DSTGlobal #ДСТ #ДСТГлобал #Распределенныесистемы #Монолитная #архитектура #микросервисы #ACID #базаданных #NoSQL #Cassandra #стратегия #Параллелизм

Источник: https://dstglobal.ru/club/1099-raspredelennye-sistemy-rasprostranennye-oshibki-i-slozhnosti

Efficient Computer: программируем по кафелю

Экспериментируем с компилятором для новой не Фон-Неймановской архитектуры, обещающей повышение энергоэффективности в 100 раз.

https://habr.com/ru/articles/931536/

#iot #edge #энергоэффективность #параллелизм #архитектура

Efficient Computer: программируем по кафелю

Efficient Computer — стартап из Питтсбурга, основанный в 2022 году командой исследователей из Университета Карнеги-Меллона. Между прочим, именно Университет Карнеги-Меллона является основным...

Хабр

Project Euler. Векторное программирование и задача номер 1

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

https://habr.com/ru/articles/929416/

#riscv #векторизация #параллельное_программирование #параллелизм

Project Euler. Векторное программирование и задача номер 1

Project Euler — некоммерческий проект, демонстрирующий, как математика помогает писать качественные и быстрые программы. По-моему, если к математике добавить векторизованный код, результат будет...

Хабр

[Перевод] async let vs Task group

В Swift для структурированной конкуренции используются async let и группы задач (task group). Хотя обе конструкции позволяют запускать параллельные операции, они по-разному управляют жизненным циклом задач. Сегодня мы разберём эти различия на примерах.

https://habr.com/ru/companies/otus/articles/928172/

#ios #swift #async_let #Task_group #параллелизм #конкуррентность #асинхронность #swift_concurrency #iOSразработка #обработка_ошибок

async let vs Task group

Не упустите эти пограничные случаи в своём коде В Swift для структурированной конкуренции используются async let и группы задач (task group). Хотя обе конструкции позволяют запускать параллельные...

Хабр

Об ошибках округления и способах борьбы с ними

Почему при сложениии одинаковых чисел в разном порядке получаются разные результаты? Как мининмизировать ошибки округления или избавиться от них совсем?

https://habr.com/ru/articles/922198/

#Вычисления #числа_с_плавающей_точкой #векторизация #параллелизм #погрешности_округления

Об ошибках округления и способах борьбы с ними

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

Хабр

[Перевод] Планирование в Python

Планирование задач — неотъемлемая часть работы любых веб-приложений, в особенности таких, в которых требуется совершать периодические или отложенные действия. В Python предусмотрено множество способов планирования задач, и у каждого есть свои сильные и слабые стороны. В этой статье будут рассмотрены некоторые наиболее популярные способы планирования задач в приложении, написанном на основе FastAPI. sched – планировщик событий из Python Модуль sched входит в состав стандартной библиотеки Python и обеспечивает простой механизм для планирования событий в программе. Этот модуль может работать в приложении на FastAPI, но пользоваться им не рекомендуется, так как он слишком прост, и функциональность его ограничена.

https://habr.com/ru/companies/piter/articles/920194/

#перевод #параллелизм

Планирование в Python

Планирование задач — неотъемлемая часть работы любых веб-приложений, в особенности таких, в которых требуется совершать периодические или отложенные действия. В Python предусмотрено множество способов...

Хабр

[Перевод] Обзор CUDA: сюрпризы с производительностью

Наверное, я очень опоздал с изучением CUDA. До недавнего времени даже не знал, что CUDA — это просто C++ с небольшими добавками. Если бы я знал, что изучение её пойдёт как по маслу, я бы столько не медлил. Но, если у вас есть багаж привычек C++ , то код на CUDA у вас будет получаться низкокачественным. Поэтому расскажу вам о некоторых уроках, изученных на практике — возможно, мой опыт поможет вам ускорить код.

https://habr.com/ru/articles/901750/

#CUDA #параллелизм #графические_процессоры #оптимизация

Обзор CUDA: сюрпризы с производительностью

Наверное, я очень опоздал с изучением CUDA. До недавнего времени даже не знал, что CUDA — это просто C++ с небольшими добавками. Если бы я знал, что изучение её пойдёт как по маслу, я бы столько не...

Хабр