Search
Write a publication
Pull to refresh
28
0
Anton Vasin @tony-space

Software Engineer

Send message

Полиморфные аллокаторы C++17

Reading time9 min
Views16K
Уже совсем скоро в OTUS стартует новый поток курса «C++ Developer. Professional». В преддверии старта курса наш эксперт Александр Ключев подготовил интересный материал про полиморфные аллокаторы. Передаем слово Александру:





В данной статье, хотелось бы показать простые примеры работы с компонентами из нэймспэйса pmr и основные идеи лежащие в основе полиморфных аллокаторов.

Основная идея полиморфных аллокаторов, введенных в c++17, — в улучшении стандартных аллокаторов, реализованных на основе статического полиморфизма или иными словами темплейтов. Их гораздо проще использовать, чем стандартные аллокаторы, кроме того, они позволяют сохранять тип контейнера при использовании разных аллокаторов и, следовательно, менять аллокаторы в рантайме.
Читать дальше →

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

Reading time12 min
Views95K
Как устроен обмен юридически значимыми сообщениями в России

В любимых нами американских сериалах часто встречается эпизод, когда притворяющийся курьером или случайным прохожим человек вручает герою увесистый пакет и сообщает, что тому пришла повестка. Герой меняется в лице: он понимает, что деваться некуда, повестку он получил. Лео Месси, чтобы сообщить «Барселоне» плохие новости, использовал специальную испанскую технологию доставки сообщений, которая называется “бюрофакс” (собственно, заинтересовавшись кейсом Лео, мы и решили затронуть эту тему).

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

Про юридически значимую переписку в сети можно найти много мифов – вроде «я не открою письмо с повесткой, значит, я его не получу, и мне ничего не будет» или «отправлять заказное письмо электронно – ненадежно». В этой статье мы собрали ответы на самые популярные вопросы, которые касаются обмена юридически значимыми сообщениями в России, чтобы вы точно знали зачем, когда и как ими правильно пользоваться.
Читать дальше →

Одноглазый глубиномер

Reading time5 min
Views15K

Недавно вышла интересная статья от FaceBook о том как можно делать неплохой 3D с монокулярных камер. Статья не очень применимая на практике. Но по качеству картинки завораживает.
Посмотрев на это я решил сделать небольшой рассказ о том что в статье творится, куда современные технологии пришли, и что можно ждать от них на практике.

Далее много картинок

Немного об ускорении программы: распараллеливание (ручное или автоматическое) на базе сверхоптимистичных вычислений

Reading time8 min
Views6.9K
Здравствуйте, уважаемые читатели. В этой публикации речь пойдет о такой (уже ставшей привычной) вещи как ускорение работы программы путем применения параллельных вычислений. Технологии организации таких вычислений известны – это и обычное многопоточное программирование, и применение специальных интерфейсов: OpenMP, OpenAcc, MPI, DVM и многих других (при этом распараллеливаются циклы, используется векторизация или конвейеризация, организуются ленивые вычисления, выделяются независимые блоки программы, которые можно запустить в параллель и т.п.).

При этом обычно исходят из той идеи, что распараллеливание не должно каким-то образом влиять на результаты исполнения программы. Это жесткое, но справедливое для многих случаев требование. Однако если мы пытаемся распараллелить программу, ведущую какие-либо расчеты численными методами (обучаем нейронную сеть, моделируем динамику жидкости или молекулярной системы, решаем обыкновенные дифференциальные уравнения или оптимизационные задачи), то результат и так (в любом случае) будет иметь некоторую погрешность. Поэтому, почему бы не применить «рискованные» технологии распараллеливания, которые могут внести в математическое решение небольшую дополнительную погрешность, но позволят получить еще некоторое дополнительное ускорение? Об одной из таких технологий – о расщеплении тел циклов с предсказанием промежуточных результатов и откатом при неудачном предсказании (собственно, это и есть «сверхоптимистичные» вычисления в частично транзакционной памяти) и пойдет речь.
Читать дальше →

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity