Рубрика «parallelism»
Пул интерпретаторов в Python 3.14. Что, зачем и почему?
2025-10-16 в 8:16, admin, рубрики: multithreading, parallelism, Python 3.14
Асинхронность, конкурентность, параллельность, многопоточность — разбираемся «по понятиям» :)
2022-05-25 в 15:35, admin, рубрики: async, event, event loop, laravel, multithreading, parallelism, php, processes, symfony, threads, ztsЭта статья представляет собой краткий (шутка!) конспект одноименного (почти) вебинара, недавно проведенного автором.
Цель и вебинара и статьи - дать начинающим представление о тех понятиях, которые вынесены в заголовок, чтобы помочь избежать повсеместной путаницы, сопровождающей эти темы.
Ну и немного раскрыть глаза на то, что, оказывается в PHP есть и асинхронность, и многопоточность, и в общем-то не нужно ждать мифической версии PHP 10, чтобы начать их использовать уже прямо сейчас!
Что такое "асинхронность"?
PostgreSQL 13: параллельный VACUUM
2020-01-30 в 13:28, admin, рубрики: parallelism, postgresql, sql, vacuum, Блог компании Postgres ProfessionalНа днях Амит Капила закоммитил патч Масахико Савады, который позволяет выполнять очистку в параллельном режиме. Сама таблица по-прежнему очищается одним (ведущим) процессом, но для очистки индексов он теперь может запускать фоновые рабочие процессы, по одному на каждый индекс. В ручном режиме это позволяет ускорить очистку больших таблиц с несколькими индексами; автоматическая очистка пока не использует эту возможность.
Читать полностью »
CLRium #7: Практический. Семинар, домашние задания с проверкой, менторинг
2020-01-23 в 17:08, admin, рубрики: .net, C#, clrium, concurrency, parallelism, Блог компании Семинары Станислава Сидристого, Программирование18 апреля 2020 в Санкт-Петербурге и 16 мая в Москве пройдёт семинар по платформе .NET CLRium #7 на котором мы продолжим тему многопоточки: на этот раз с точки зрения практики. Первую часть посетило более 700 человек. Основные темы семинара (программа формируется):
- Архитектура распараллеленного кода
- Тестирование распараллеленного кода, алгоритмов и примитивов синхронизации
- Отладка распараллеленного кода
И в этот раз семинар будет в некотором смысле двухнедельным:
- Сам семинар будет идти день;
- После чего вы получите домашние задания и мы в течение двух недель будем их вместе решать, проверять и давать советы по их улучшению (также будет создана группа в Телеграмм для их динамичного обсуждения);
Также возможна работа в формате собеседований с личным ментором
CLRium #6: Concurrency & Parallelism. Обучение магии распараллеливания задач
2019-08-26 в 20:35, admin, рубрики: .net, C#, clrium, concurrency, parallelism, Блог компании Семинары Станислава Сидристого, ПрограммированиеНаша команда по-настоящему взбудоражена: ведь мы находимся в стадии производства сложнейшего для нас семинара среди всех нами созданных: семинара по многопоточке, конкурентности и прочим смежным вопросам. Мы немного боимся: мы создали целый огромный процесс внутренних согласований докладов, источников информации, вычитываем, сверяем… исправляем… и всё это для того чтобы создать самый полезный семинар из всех проведенных.
Наша задача звучит очень просто: за два полных дня научить вас всем слоям многопоточки.
.NET: Инструменты для работы с многопоточностью и асинхронностью. Часть 1
2019-05-23 в 8:22, admin, рубрики: .net, ASP, async/await, asynchronous, C#, multithreading, parallelism, tpl, асинхронность, многопоточность, системное администрированиеПубликую на Хабр оригинал статьи, перевод которой размещен в корпоративном блоге.
Необходимость делать что-то асинхронно, не дожидаясь результат здесь и сейчас, или разделять большую работу между несколькими выполняющими ее единицами была и до появления компьютеров. С их появлением такая необходимость стала очень ощутимой. Сейчас, в 2019, набирая эту статью на ноутбуке с 8 ядерным процессором Intel Core, на котором параллельно этому работает не одна сотня процессов, а потоков и того больше. Рядом, лежит уже немного потрепанный, купленный пару лет назад телефон, у него на борту 8 ядерный процессор. На тематических ресурсах полно статей и видео, где их авторы восхищаются флагманскими смартфонами этого года куда ставят 16ти-ядерные процессоры. MS Azure предоставляет менее чем за 20$/час виртуальную машину со 128 ядерным процессором и 2 TB RAM. К сожалению невозможно извлечь максимум и обуздать эту мощь не умея управлять взаимодействием потоков.
Читать полностью »
Асинхронный Python: различные формы конкурентности
2018-08-29 в 13:16, admin, рубрики: concurrency, parallelism, python, изучение языков, ПрограммированиеС появлением Python 3 довольно много шума об “асинхронности” и “параллелизме”, можно полагать, что Python недавно представил эти возможности/концепции. Но это не так. Мы много раз использовали эти операции. Кроме того, новички могут подумать, что asyncio является единственным или лучшим способом воссоздать и использовать асинхронные/параллельные операции. В этой статье мы рассмотрим различные способы достижения параллелизма, их преимущества и недостатки.
Читать полностью »
Разбор основных концепций параллелизма
2018-04-12 в 17:43, admin, рубрики: java, parallelism, Блог компании Отус, параллельное программирование, ПрограммированиеВсем кофе!
Завтра у нас плавненько стартует практически юбилейный поток курс «Разработчик Java» — уже шестой по счёту начиная с апреля прошлого года. А это значит, что мы снова подобрали, перевели интереснейший материал, которым делимся с вами.
Поехали!
Эта памятка поможет Java-разработчикам, работающим с многопоточными программами, понять основные концепции параллелизма и способы их применения. Вы ознакомьтесь с ключевыми аспектами языка Java со ссылками на стандартную библиотеку.
РАЗДЕЛ 1
Вступление
С момента своего создания Java поддерживает ключевые концепции параллелизма, такие как потоки и блокировки. Эта памятка поможет Java-разработчикам, работающим с многопоточными программами, понять основные концепции параллелизма и способы их применения.
РАЗДЕЛ 2
Концепции
| Концепция | Описание |
|---|---|
| Atomicity (атомарность) | Атомарная операция — это операция, которая выполняется полностью или не выполняется совсем, частичное выполнение невозможно. |
| Visibility (видимость) | Условия, при которых один поток видит изменения, сделанные другим потоком |
Таблица 1: Концепции параллелизма
Stream API & ForkJoinPool
2017-09-26 в 14:53, admin, рубрики: forkjoinpool, java, parallelism, stream api, Блог компании Отус, параллельное программирование, ПрограммированиеПродолжаем серию полезностей, которыми мы делимся с вами. Теперь уже вновь по Java.
Если вы уже знакомы со Stream API и использовали его, то знаете, что это удобный способ обработки данных. С помощью различных встроенных операций, таких как map, filter, sort и других можно преобразовать входящие данные и получить результат. До появления стримов разработчик был вынужден императивно описывать процесс обработки, то есть создавать цикл for по элементам, затем сравнивать, анализировать и сортировать при необходимости. Stream API позволяет декларативно описать, что требуется получить без необходимости описывать, как это делать. Чем-то это напоминает SQL при работе с базами данных.
Стримы сделали Java-код компактнее и читаемее. Еще одной идеей при создании Stream API было предоставить разработчику простой способ распараллеливания задач, чтобы можно было получить выигрыш в производительности на многоядерных машинах. При этом нужно было избежать сложности, присущей многопоточному программированию. И это удалось сделать, в Stream API есть методы BaseStream::parallel и Collection.parallelStream(), которые возвращают параллельный стрим.
Читать полностью »
$mol: reactive micromodular ui-framework
2016-10-31 в 5:10, admin, рубрики: $mol, angular.js, asynchronous, becycle, bem, benchmarks, build system, compositing, crossplatform, css, dependency, error proof, exception handling, FRP, inheritance, javascript, lazy execution, lazy initialization, lazy load, life cycle, localization, logging, mam, modules, namespaces, node.js, oorp, parallelism, polymer.js, postcss, proxy, react.js, reactive programming, reverse engineering, sourcemap, synchronization, TypeScript, vanilla.js, view.tree, Разработка веб-сайтов, разработка мобильных приложенийСколько нужно времени, чтобы просто вывести на экран большой список, используя современные фреймворки?
| Список на 2000 строк | ReactJS | AngularJS | Raw HTML | SAPUI5 | $mol |
|---|---|---|---|---|---|
| Появление списка | 170 ms | 420 ms | 260 ms | 1200 ms | 50 ms |
| Обновление всех его данных | 75 ms | 75 ms | 260 ms | 1200 ms | 10 ms |
Напишем нехитрое приложение — личный список задач. Какие у него будут характеристики?
| ToDoMVC | ReactJS | AngularJS | PolymerJS | VanillaJS | $mol |
|---|---|---|---|---|---|
| Размер ( html + js + css + templates ) * gzip | 322 KB | 326 KB | 56 KB | 20 KB | 23 KB |
| Время загрузки | 1.4 s | 1.5 s | 1.0 s | 1.7 s | 0.7 s |
| Время создания и удаления 100 задач | 1.3 s | 1.7 s | 1.4 s | 1.6 s | 0.5s |
Небольшая головоломка: перед вами синхронный код, загружающий и обрабатывающий содержимое 4 файлов, но с сервера они грузятся параллельно. Как такое может быть?

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




