Search
Write a publication
Pull to refresh
77
0
Send message

Ускоряем Python в сто раз при помощи менее чем ста строк на Rust

Level of difficultyMedium
Reading time15 min
Views21K

Однажды на работе у нас возникла проблема с производительностью одной из наших основных Python-библиотек.

Эта библиотека формирует фундамент нашего конвейера 3D-обработки. Это довольно большая и сложная библиотека, использующая NumPy и другие научные пакеты Python для выполнения широкого спектра математических и геометрических операций.

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

Мы пришли к выводу, что для работы с увеличившейся нагрузкой нужно сделать систему, по крайней мере, в пятьдесят раз быстрее, и решили, что помочь в этом нам может Rust.

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

Так что заварите себе чаю (или кофе) и я расскажу вам (а) о самой проблеме и (б) о нескольких итерациях оптимизаций, которые мы смогли применить для решения этой проблемы.

Если вы хотите сразу перейти к получившемуся коду, то читайте раздел «Подведение итогов».
Читать дальше →

FET: (F)дружелюбный (E)эффективный (T)транзистор

Level of difficultyMedium
Reading time10 min
Views22K

Работая со схемой, управляющей приличной силой тока, вы зачастую сталкиваетесь с полевыми транзисторами (FET, Field-Effect Transistor). Независимо от того, хотите ли вы управлять парой мощных светодиодов, двигателем или включать/отключать USB-устройство, в схеме обычно присутствует полевой транзистор, выполняющий часть ответственной работы. Вы можете не знать, как именно он функционирует, как его использовать и какие нюансы при этом учитывать — поэтому начнём с основ.
Читать дальше →

Новая обсерватория поиска обитаемых миров сможет ответить на вопрос, одиноки ли мы во Вселенной

Level of difficultyEasy
Reading time10 min
Views7.1K
Диаграмма экзопланет, открытых на конец 2017 года

Есть несколько вопросов, над которыми человечество всегда размышляло, но не могло удовлетворительно ответить, пока не появились соответствующие научные достижения. Такие вопросы, как «что такое Вселенная», «откуда она взялась», «как она стала такой» и «какова её конечная судьба» были с нами с незапамятных времён, но в XX и в XIX веках, благодаря невероятным достижениям в области физики и астрономии, наконец, получили исчерпывающие ответы. Однако, возможно, самый большой вопрос из всех – «Одиноки ли мы во Вселенной?» — остаётся без ответа.
Читать дальше →

Шпионские страсти: самые странные и причудливые приспособления на службе разведок ХХ века. Часть 1

Level of difficultyEasy
Reading time11 min
Views31K

С древних времён и до наших дней люди пытались выведать друг у друга всевозможные секреты или сделать что-то очень тайно и незаметно. В решении этих непростых задач им на помощь приходила инженерная мысль. Порой эта мысль приобретала самый сумрачный и странный характер — о примерах чего из эпохи классического шпионажа второй половины ХХ века мы сегодня и поговорим.
Читать дальше →

Ответом на задачу по упаковке цветов в бесконечной сетке оказалось число 15

Level of difficultyMedium
Reading time7 min
Views7.7K
Видео

В задаче по «упаковке цветов графа» (в оригинале packing coloring, — прим. пер.) спрашивается, сколько чисел необходимо для заполнения бесконечной сетки так, чтобы идентичные числа никогда не оказывались слишком близко друг к другу. И новый арифметический эксперимент с использованием компьютера даёт на удивление простой ответ.

Сколько чисел потребуется для заполнения бесконечной сетки так, чтобы расстояние между вхождениями одного числа было больше самого этого числа?
Читать дальше →

Феррожидкости на службе человечества: магнитореологическое полирование и не только

Level of difficultyMedium
Reading time7 min
Views6.9K
Картинка Freepik

Многие видели такой интересный состав, как ферромагнитная жидкость. Обычно она мелькает в тех или иных любительских видео, демонстрирующих её занимательные свойства. Однако у ферромагнитной жидкости есть и более полезные применения…
Читать дальше →

Пол-лимона

Reading time1 min
Views23K

Наверное, будет непросто найти пользователя Хабра, который бы не знал такого сочетания из 5 букв, как RUVDS. За восемь лет, что мы присутствуем на Хабре, пять уверенно держимся на первом месте — это заслуга десятков сотрудников компании и звёздных авторов, с которыми в этом году мы планируем достичь отметки 3000 публикаций в блоге. Но RUVDS это не только буквы, блог намбаван, крутые конкурсы, квесты и спецпроекты — прежде всего это отличный хостинг с датацентрами в десятке стран, на которых мы недавно перешагнули планку в 500 тысяч серверов, в честь чего мы и решили устроить эту забаву.

Читать далее

Почему увольняют самых опытных? Потому что они слишком умные. Тейлоризм 21-го века

Level of difficultyEasy
Reading time8 min
Views149K


Опытный и талантливый сотрудник — носитель знаний и опыта. На него полагаются коллеги, он выполняет в десять раз больше работы, чем джун. Казалось бы, руководство должно молиться на такого разработчика. Но нет, к нему не испытывают особой благодарности и зачастую рады от него избавиться. Почему так происходит?
Читать дальше →

Обобщай это, обобщай то

Level of difficultyMedium
Reading time7 min
Views6.6K


В рамках этой статьи я вновь попытаюсь аккуратно стереть границы между абстрактной алгеброй и объектно-ориентированным программированием, чтобы посмотреть на то, что получится на стыке. Ознакомиться с предыдущими трудами на эту тему можно по ссылкам: раз и два.

На этот раз мы остановимся на связи между алгебраическими кольцами и алгоритмом поиска выпуклой оболочки множества точек (convex hull).
Читать дальше →

Почему мы стали дороже в этом году

Level of difficultyEasy
Reading time8 min
Views16K
Про такое обычно не пишут посты и вообще всеми силами стараются аккуратно спрятать под ковёр. Но вы нас уже раза три спросили, почему мы подняли цены.

Отвечаю: потому что мы очень жадные!


Настолько жадные, что учли инфляцию, колебания курса, повышение стоимости лицензий Microsoft (а мы всё ещё не пиратим), допиздержки на серый импорт железа, повышение цен на IP-адреса и глобальное потепление. Повысили цены и всё равно остались примерно в 2–4 раза дешевле облака одного очень российского поисковика.

В общем, такие времена. Кто-то разливает молоко в пакет по 0,9 литра, а кто-то покупает в VDS-хостинг десктопное железо. Но мы уже выросли достаточно, чтобы понимать, что такое планирование вдолгую, и знаем, что важно нашим клиентам.

А нашим клиентам важно, чтобы всё шло без сюрпризов. Последние три года и так выдались удивительные, и какие-нибудь новости от хостинга — это не то, что они хотели бы.
Читать дальше →

Математический подход к выбору девушки*. Правило 37%

Level of difficultyEasy
Reading time7 min
Views49K


В наше время многие находят вторую половинку в интернете: на тематических форумах и в онлайн-сообществах, в играх, на сайтах знакомств и приложениях вроде «Тиндера», где знакомства вообще поставлены на конвейер. Если десять лет назад 22% всех браков в США начинались со знакомства в интернете, то сейчас доля онлайн-знакомств превысила 39%. По сути, интернет стал основным способом знакомства мужчин и женщин, как долговременного, так и краткосрочного. Это очень удобно для гиков и специалистов с техническим образованием, поскольку мы получаем конкурентное преимущество, используя привычные инструменты. Например, можно поддерживать десятки чат-сессий в десктопном приложении или применять методы численного анализа в Excel/Google Sheets.

*Примечание. Под «девушкой» здесь и далее подразумевается любой объект, поочерёдно рассматриваемый из ограниченного пула схожих объектов с отличающимися характеристиками. Это может быть не только девушка, но и мужчина, квартира для съёма, автомобиль на вторичном рынке, домик в деревне, работодатель и т. д.
Читать дальше →

Halo: Combat Evolved — отец современных шутеров

Level of difficultyEasy
Reading time10 min
Views5.8K
image

Титул «отца шутеров» с конца 90-х годов полноправно носит первая часть Doom. И каждому ясно почему: перечисление всего, что дало игровой индустрии творение Кармака и Ромеро, тянет на отдельный материал. Без Doom было бы невозможно представить, как выглядели бы шутеры сейчас и были бы они вообще в том виде, в котором мы привыкли представлять компьютерные стрелялки; не было бы многих графических технологий, построенных на основе её игрового движка. Не вышел бы следующий проект ID Software, Quake — серия, которая по сути создала такие привычные нам сейчас явления, как игровые монтажи и киберспорт.

Но Doom вышел в 1993 году, и не нужно быть экспертом, чтобы заметить, что большинство шутеров на сегодняшнем рынке имеют мало схожего с геймплейными основами первого проекта ID. Потому я предлагаю немного видоизменить генеалогическое сравнение в развитии жанра и поставить первую игру про измельчение демонов на вполне оправданное место «деда» в родовом древе шутеров. Ведь на место того, кто дал современным проектам их основные механики и стиль игры, подойдёт другая классика игростроя от именитой студии Bungie.

Встречайте «батю» современных шутеров — Halo: Combat Evolved.
Читать дальше →

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

Level of difficultyEasy
Reading time7 min
Views10K
Кадр из сериала «Разрабы», в котором инженеры могут видеть прошлое и будущее, реконструированное квантовым компьютером. Конкретно в этой сцене они предположительно наблюдают распятие Христа

В этой статье вы найдёте вольные рассуждения на тему того, как появление передовых технологических разработок способно подталкивать людей к формированию эзотерических идей и организации целых религиозных движений. Здесь мы разберём ряд подобных случаев в истории и оценим текущее положение дел на сцене стоящего перед нами прогресса.
Читать дальше →

Триггер — электронная ячейка памяти

Level of difficultyMedium
Reading time9 min
Views15K


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

Сегодня изучим и соберём четыре интересные схемы, первой из которых триггер пригодился бы, а в трёх остальных они имеются и являются основой. Это будут машина для голосования, дежурный светильник, светодиодная свечка и кодовый замок.
Не микроконтроллером единым жив человек...

Хуманизация, дэсу! Часть 2: девочки с большими стволами, СССР-тян и зарождение Хеталии

Level of difficultyEasy
Reading time8 min
Views7.2K

Итак, в первой части нашего расследования мы выяснили, что стремление очеловечивать всё что можно и нельзя проистекало у наших предков из страха перед непознанным; что роботы-близняшки из «Atomic Heart» имеют довольно интригующее отношение к палеолитическим «венерам»; что на хуманизированные военные кампании денег дают больше, чем на не-хуманизированные; а также что первая интернет-хуманизация родилась в недрах японской имиджборды Футаба, пользователи которой пронзили в кнопке Internet Exporer грустный гриб.

Теперь пора поговорить о том, как развлечение анимешников-битардов вырвалось из имиджборд и распространилось по сети со свирепостью и лютостью военной техники (которую, разумеется, «очеловечили» в числе первых). В нынешних интернетах хуманизации всего и вся уже никого не удивляют — но так, несмотря на глубокие корни в человеческой психике, было не всегда.
Читать дальше →

Уходим с «Яндекс.Почты» на свой почтовый сервер

Level of difficultyEasy
Reading time5 min
Views78K

17 апреля 2023 года «Яндекс» отключает бесплатную почту для бизнеса и предлагает платить от 249 до 1399₽ за юзера в месяц. Если не оплатить услуги, все аккаунты «Яндекс 360» будут принудительно переведены в режим чтения, то есть читать письма будет можно, а отвечать на них — нет.

Переход на платные тарифы обязателен для всех доменов (включая семейные аккаунты) с количеством пользователей больше трёх.

Конечно, легче всего согласиться на условия и оплатить требуемую сумму. На это и рассчитывает провайдер, что 99% клиентов молча заплатят деньги, ведь у них нет другого выхода… Но на самом деле выход есть.

Если в двух словах, можно взять недорогой VPS, поставить туда один из свободных почтовых серверов и сэкономить пару тысяч рублей. Или сотен тысяч, смотря сколько у вас сотрудников. Финансовая раскладка под катом.
Читать дальше →

«Ямбический» электронный ключ на Black Pill

Level of difficultyMedium
Reading time6 min
Views8.7K

Всё прогрессивное человечество празднует 18 апреля Международный день радиолюбителя. В этот день в 1925 году на Международной радиолюбительской конференции в Париже был основан Международный союз радиолюбителей (IARU).

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

В те времена единственным доступным радиолюбителям способом связи был радиотелеграф. Потом стала появляться и голосовая связь, но ещё очень долгое время в глазах широких народных масс радиолюбительство ассоциировалось с писком «морзянки».

Для работы с радиотелеграфом нужен телеграфный ключ, и выбор ключа имеет очень большое значение. А ещё телеграфный ключ можно сделать самому, о чём и пойдёт речь далее.
Читать дальше →

В космос на попутке. Как спутник RUVDS попадёт в космос

Level of difficultyMedium
Reading time4 min
Views6.9K

В предыдущих двух материалах мы говорили про сам спутник-сервер RUVDS и сложности, которые возникали в процессе его создания. Для тех, кто подключился к нам только сейчас, это статьи: «Космические системы становятся персональными, а серверы — космическими. Зачем RUVDS свой пико-спутник» и «Сложности проектирования своего пико-спутника. Или спутник разработать — не блинов напечь».

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

Так, пусковой контейнер для спутников формата тайнисат — это по сути, «материнский» космический аппарат форм-фактора кубсат. Получается такая «матрёшка». Кубсаты запускаются с помощью своих пусковых контейнеров, которые уже хорошо распространены на ракетах-носителях, как отечественных, так и иностранных. А уже кубсат несёт на себе пусковой контейнер тайнисат.
Читать дальше →

Что такое «белые дыры» и существуют ли они на самом деле?

Level of difficultyMedium
Reading time8 min
Views22K

Законы физики говорят нам обо всех возможных явлениях и сущностях, которые в принципе могут появиться в нашей Вселенной — но только наблюдая, измеряя и экспериментируя с реальной Вселенной, мы можем определить, что может появиться на самом деле. Одним из самых первых следствий общей теории относительности Эйнштейна стала чёрная дыра: область пространства с таким количеством материи и энергии, собранных в одном месте, что из этого объёма ничто, даже свет, никогда не сможет выйти. Но у этого явления математически есть и противоположная сторона, обратная чёрной дыре: белая дыра, из которой материя и энергия будут спонтанно выходить.

Чёрные дыры, как показали многочисленные наблюдения, не только физически реальны, но и весьма многочисленны во Вселенной. А как насчёт белых дыр? Что это такое, и существуют ли они физически? В конце концов, это одно из самых захватывающих и необычных явлений, допустимых физикой. Давайте посмотрим на то, что мы знаем по этому поводу.
Читать дальше →

Хуманизация, дэсу! Часть 1: зачем кроманьонцы очеловечили космос, а японцы — Windows ME?

Level of difficultyEasy
Reading time10 min
Views8.1K

«Если что-то существует, его уже кто-то нарисовал в виде (анимешной) девушки», — так можно перефразировать знаменитое 34-е правило интернетов, Rule 34. В виде анимешных и не только персонажей изображают буквально всё: программы, популярные сайты и соцсети, города и целые страны, военную технику и политические партии. И если в нулевых это было скорее забавой битардов и отаку «для своих», вызывавшей у «цивилов» недоумение пополам с кринжем, то в десятые хуманизация всего и вся начала становиться откровенным мейнстримом.

Но откуда это пошло и почему стало настолько популярным явлением? Почему людям так нравится изображать разные неживые предметы, явления и понятия в виде человеков?
Читать дальше →

Information

Rating
Does not participate
Works in
Registered
Activity