Рубрика «Программирование» - 61

Найти значительное узкое место в производительности стандартной библиотеки или зрелого приложения — это редкость.

Я был удивлён, когда в top10 списке CPU-профиля hugo при сборке digitalgov.gov на первой позиции находился метод reflect.Type.MethodByName().

      flat  flat%   sum%        cum   cum%
     8.84s  6.28%  6.28%     57.85s 41.10%  reflect.(*rtype).MethodByName
     7.93s  5.63% 11.92%      8.50s  6.04%  reflect.name.readVarint
     7.56s  5.37% 17.29%    111.79s 79.43%  reflect.Value.call
     7.53s  5.35% 22.64%     23.33s 16.58%  runtime.mallocgc
     7.29s  5.18% 27.82%     16.10s 11.44%  reflect.name.name

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

Читать полностью »

Команда Rust рада представить новую версию языка — 1.58.0. Rust — это язык программирования, позволяющий каждому создавать надёжное и эффективное программное обеспечение.

Если у вас есть предыдущая версия Rust, установленная через rustup, то для обновления до версии 1.58.0 вам достаточно выполнить команду:

rustup update stable

Если у вас ещё нет rustup, то можете установить его со страницы на нашем веб-сайте, а также ознакомиться с подробным описанием выпуска 1.58.0 на GitHub.

Что стабилизировано в 1.58.0

В Rust 1.58 появились захваченные идентификаторы в форматируемых строках, изменился путь поиска в Windows для Command, в стандартной библиотеке стало больше аннотаций #[must_use], а также были стабилизированы некоторые функции.

Читать полностью »

image

Я выложила вчера подборку «15 игр, которые прокачивают логику, алгоритмы, ассемблер и силу земли». И столько классных ссылок в комментарии накидали, что я чуток опухла, но сделала отдельную подборку, по горячим следам. Спасибо большое всем, кто внес свой вклад.

Ещё 20+ игр, которые прокачивают логику, алгоритмы и радуют умный мозг [по следам комментариев на Habr] - 2Еще я веду канал в Telegram: GameDEVils, делюсь там клевыми материалами (про геймдизайн, разработку и историю игр).
Читать полностью »

15 игр, которые прокачивают логику, алгоритмы, ассемблер и силу земли - 1

Есть «Super Mario», признанная классика видео игр. Есть «Doom», который запускают на чайниках и тестах на беременность. Есть супер-популярные по статистике twitch.tv игры («League of Legends», «GTA V», «Fortnite», «Apex Legends») которые стримят пятая часть всех стриммеров.

А есть игры, на которые очень мало обзоров, но они супер крутые — игры про алгоритмы. Игры, в которых можно кодить на ретро-компьютере; игры, которые надо взламывать; игры, где можно программировать контроллеры или поведение персонажей; игры, где можно создавать свою игру внутри игры.

Под катом подборка классных игр про алгоритмы за последние 10 лет. Если что-то упустила — буду рада дополнениям.

15 игр, которые прокачивают логику, алгоритмы, ассемблер и силу земли - 2Еще я создала канал в Telegram: GameDEVils, буду делиться там клевыми материалами (про геймдизайн, разработку и историю игр).
Читать полностью »

Представьте себе, что вы работаете над довольно сложной программой. Например, с мудрёными математическими расчётами. Вы её компилируете, запускаете в первый раз, она выдаёт ожидаемый результат и работает без ошибок. Скорее всего, в такой ситуации опытный программист сильно удивится и начнет перепроверять свой код: так не бывает, чтобы сложная программа сразу скомпилировалась, заработала, да ещё и не содержала багов.

Читать полностью »

ATSHA204A: маленький гигант большого крипто. Часть 2: насколько глубока кроличья нора - 1

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

Как я уже заметил в предыдущей статье, нельзя просто так взять и «забацать что-нибудь криптографическое» на ATSHA204A — всё намного сложнее и прежде чем вы сможете использовать этот чип в своих проектах, вам нужно будет изучить устройство, архитектуру и принципы работы, заложенные в него сумрачным американским гением компании Microchip. Без этого вы просто не сможете ничего сделать с ATSHA204A.

Итак, следуйте за мной.
Читать полностью »

В мире существует около 14 000 видов муравьёв, каждый из которых имеет собственное название. Но, даже если вы зададитесь такой целью, вы не найдёте ни в одном биологическом справочнике муравья Лэнгтона. Дело в том, что этот муравей — математическая абстракция, модель для описания поведения динамической системы. Иногда кажется, что математики вообще неравнодушны к муравьям — вспомним хотя бы уже ставший классическим муравьиный алгоритм. Да и во всяких логических моделях и задачах муравьи встречаются довольно часто.

От хаоса к строгому порядку

Читать полностью »

Перед самым Новым годом мне повезло — я нашёл коробку со своими детскими сокровищами. В ней были собраны традиционные настольные игры, которые имел почти каждый советский школьник: старые «Эрудит», «Реверси», лото, классические шашки, домино и вездесущий кубик Рубика. А ещё в коробке оказалась основательно подзабытая мной игра «Логика».

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

Читать полностью »

BAD APPLE MSX
BAD APPLE MSX

Если у чего-то есть экран, то там обязана играть Bad Apple!. Именно так думал и я. Каково же было моё удивление, когда узнал, что Bad Apple не существует на MSX, и вот почему... прошу под кат...

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js