Pull to refresh
40
0
sysprg @sysprg

User

Send message

Библиотека для кэширования Caffeine: анализ кода

Reading time18 min
Views4.3K

То и дело, прожигая время за чтением reddit, я натыкаюсь на очередной пост, в котором упоминается метод S3 FIFO и говорится, что он лучше LRU (вытеснение реже всего используемых значений) — потому, что даёт более низкий процент промахов кэша. Видные компании, в частности, RedPandas, Rising Wave и Cloudflare уже внедрили S3 FIFO у себя на различных мощностях, что только подогрело мой интерес к нему. Кэши — чертовски интересная тема, а по работе мне приходится сильно полагаться на работу с кэшами при обслуживании нескольких сервисов. Так что я был уверен, что рано или поздно мне потребуется протестировать S3 FIFO или, как минимум, удостовериться, что я понимаю ключевые идеи, заложенные в этой технологии.

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

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

Читать далее

Более быстрые хеш-таблицы: претенденты на место SwissTable

Level of difficultyMedium
Reading time11 min
Views15K

24 ноября 2021 года на сайте ArXiv.org была опубликована научная статья «Крошечные указатели» (Tiny Pointers) с описанием новой структуры данных — «крошечных» указателей, которые указывают путь к фрагменту хранимых данных и занимают меньше памяти, чем традиционные указатели.

Осенью 2021 года эту статью заметил Андрей Крапивин (Andrew Krapivin), студент Ратгерского университета в Нью-Джерси, и не придал ей особого значения, пишет Quanta Magazine, журнал о последних достижениях в математике (перевод статьи на Хабре). Только через два года он нашёл время, чтобы внимательно ознакомиться с материалом. И понял, насколько это прорывное изобретение, если применить его для оптимизации хеш-таблиц.

Данная тема уже упоминалась на Хабре, но заслуживает более подробного обсуждения.
Читать дальше →

Измерительный мост Уитстона — электронные весы

Level of difficultyEasy
Reading time8 min
Views10K
Наверняка вы видели на принципиальных схемах характерную ромбовидную структуру. Схема электрического моста содержит в себе элегантную красоту. А содержащийся в ней технический принцип достоин отдельной статьи. Пару лет назад, когда я разобрался и понял суть, случилось мини-озарение, волшебством которого хочу поделиться с вами.


Посмотрите на схему, левая и правая части электрически эквивалентны. Измерительный мост, или мост Уитстона, состоит из двух параллельно включённых резистивных делителей напряжения. На анимации показан случай, при котором потенциалы двух средних точек обоих плечей моста равны. Равновесное состояние достигается при равенстве соотношений R2/R1 и R4/R3.

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

Феномен BYD. Как китайский профессор вырастил автомобильного монстра

Reading time15 min
Views18K

За 30 лет BYD прошёл путь от небольшого производителя аккумуляторов до главной автомобильной компании Китая. BYD растёт в полтора раза каждый год, обогнал Tesla и дышит в спину Toyota и Volkswagen. Разбираемся, за счет чего этот китаец так разогнался.

Читать далее

Луна почти такая же старая, как и Земля

Level of difficultyEasy
Reading time5 min
Views3.9K

Удар, в результате которого образовалась Луна, поразил практически новорожденную Землю.

Новые исследования пород, доставленных Аполлонами, отодвигают формирование Луны более чем на 100 миллионов лет назад.

20.03.2025, Пол Вусен, science.org (журнал Science)

Читать далее

Go 1.24 — swiss tables новая реализация map

Level of difficultyMedium
Reading time7 min
Views8.6K

В Go 1.24 встроенная реализация map была полностью переработана и теперь основана на Swiss Table. В этой статье мы рассмотрим, какие преимущества даёт Swiss Table по сравнению с традиционными хеш-таблицами.

В приведённом выше графике мы видим заметно различающиеся модели потребления памяти между SwissMap и встроенной картой (map) в Go. Для сравнения также включено потребление памяти массивом, хранящим тот же набор данных. Потребление памяти стандартной реализации структуры данных map - выглядит как ступенчатая функция, поскольку она всегда создаётся с числом бакетов, равным степени двойки. Это связано с классической оптимизацией, основанной на побитовых операциях.

Читать далее

Мой 16-месячный эксперимент с теанином

Level of difficultyMedium
Reading time10 min
Views7.8K

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

Многие люди пробуют теанин и сообщают, что он вау, отлично помогает при СДВГ, излечил мою (социальную) тревожность или меняет мою жизнь. И это не только сообщество энтузиастов эффекта плацебо. Эта ветка на Hacker News полна положительных отзывов, а Гверн Брэнвен регулярно его использует.

Далее

Как создать универсальную лазерную установку, излучающую луч ВСЕХ длин волн?

Level of difficultyMedium
Reading time11 min
Views7.6K
Картинка Freepik

Любой, кто сталкивался с лазерами или слышал о них, знает, что слово «лазер» практически неразрывно связано в сознании знающего человека с понятием «длина волны» — то есть практически любая из широко известных лазерных систем излучает луч только одной длины волны.

Однако что, если я скажу вам, что абсолютно реальна универсальная лазерная установка, которая может излучать вообще все* возможные диапазоны длин волн?! О_о

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

Проектирование корпуса для электронной самоделки

Level of difficultyEasy
Reading time3 min
Views5.2K

Хочу поделиться подходом к проектированию корпуса для электронной самоделки.

Вам потребуется немного свободного времени, установленные OpenSCAD, Kicad и доступ к 3D принтеру чтобы материализовать результат.

Читать далее

О новых алгоритмах хеш-таблиц

Reading time1 min
Views17K

Хотелось бы прокомментировать публикацию Ильи Кабанова в Медузе по поводу новых разработок в алгоритмах хеширования: "Optimal Bounds for Open Addressing Without Reordering" (Farach-Colton, Krapivin, and Kuszmaul, 2025) и последующую "The Bathroom Model: A Realistic Approach to Hash Table Algorithm Optimization" (Wang, 2025). И особенно кликбейтное: "в перспективе метод Крапивина и его коллег может ускорить многие процессы в интернете."

Я около 7 лет очень плотно занимался темой хеш-таблиц и написал много их вариантов: Koloboke, SmoothieMap, memory-mapped вариации.

Я потерял к теме интерес с выходом гугловской SwissTable (2018), и ее фейсбучного варианта F14, которые основаны на SIMD. Они проверяют загруженность ячеек и совпадения "тега" элемента сразу блоками по 8 соседних слотов. Поэтому на любых разумных загрузках таблиц (до 90%) - "цепочка проверки" очень редко превышает 1 (то есть, одну проверку 8-элементного блока).

В этих SIMD-based алгоритмах, ухищрения и теоретические по поводу "алгоритма шагания" просто не играют никакой роли -- алгоритм шагания можно сказать отсутствует, потому что если можно вставить элемент внутри 8-элементного блока, то это и стоит сделать.

Именно эти разработки, а не Крут и не статья Yao, которую "опровергли" новые работы, стали "практическим концом теории" хеш-таблиц, на мой взгляд.

SwissTable стали стандартным алгоритмом хеш-таблиц в Расте, и, буквально в этом месяце, в Golang 1.24.

В заключение, отвечая Илье Кабанову: к "ускорению интернета" эти теоретические алгоритмы не приведут :)

Читать далее

Сортируем сотни млн строк в разы быстрее библиотечных алгоритмов. А не замахнуться ли нам на ммм… на O(n)?

Level of difficultyMedium
Reading time14 min
Views16K

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

Кто-то в личное время покоряет Эверест, кто-то стрит-драйвит, кто-то на нижней Волге ловит спиннингом судаков и жерехов (я тоже, кстати, раз в году), кто-то разводит мадагаскарских шипящих тараканов, а кто-то развлекает себя эзотерикой. А я вот внерабочее время развлекаю себя тем, что напрягаю свой мозг математическими и алгоритмическими проблемами. Придумываю что-нибудь эдакое, необычное. Жаль, что за эту деятельность не платят. Говорят, такое напряжение мозга поможет в старости спастись от болезни Альцгеймера. Во всяком случае, весьма на это надеюсь.

И, рассуждая совсем о другой проблеме, но где имеет место быть сортировка большого количества объектов, в плане алгоритма сортировки объектов, меня осенило. Быстренько проверил кодом — ого, работает! Рассчитываю, что вам понравится.

Читать далее

Ну заяц погоди! Или противоракетная оборона для самых маленьких евреев и не только. Часть 2

Level of difficultyEasy
Reading time12 min
Views4.1K

Продолжение статьи, созданной в процессе решения задачи о погоне, для школьников. Очков Валерий Федорович, предложил мне решить методом структурного моделирования задачу погони волка за зайцем. И в первой части именно эта задача подробно и разобрана. Многие читатели справедливо спрашивали, а причем здесь евреи и ракеты?  В этой части я покажу, как можно связать школьную задачу про бегающего по кругу зайца с израильской противоракетной системой купол. 

Читать далее

Необычный калькулятор для конденсаторов

Level of difficultyEasy
Reading time5 min
Views11K

Привет друзья!

Я люблю заниматься электроникой, но на моём заводе мне редко дают такие задачи, поэтому я занимаюсь этим дома: делаю свои электронные проекты, учу теорию и иногда занимаюсь с репетитором. Недавно мы проходили всё, что связано с конденсаторами именно с практической точки зрения и он показал мне очень интересный калькулятор. Если нужно посчитать время заряда конденсатора, обычно инженеры считают по стандартной формуле, перемножая сопротивление RC-цепи на ёмкость конденсатора. Какое-то количество людей считают, что уже на этом можно остановиться и что тау это и есть время заряда конденсатора и однажды я увидела эту информацию в одной книге для начинающих! Но на самом деле за одну тау конденсатор заряжается на 63%, за два тау на 86% и так далее. Так как график напряжения на конденсаторе во время его заряда нелинейный и имеет экспоненциальный характер, то за каждое следующее тау он заряжается на меньший процент. Полностью конденсатор не может зарядиться никогда, как и разрядиться, поэтому "полным" зарядом принято считать 99,3% и такого уровня конденсатор достигает за время равно пять тау. Поэтому полный расчёт времени заряда конденсатора выглядит так:

Читать далее

Что на сегодня ясно про устройство пространства

Level of difficultyEasy
Reading time3 min
Views27K

Источники — зубры нашей астрономии, астрофизики и квантовой физики — Семихатов, Штерн, Панов, Сурдин, Засов, Попов, Измоденов. Формул и долгого изложения не будет, просто самое базовое.

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

Читать далее

Предел Шеннона. Математика компромиссов. Пушкин и Толстой это конечно наша гордость, но считать-то тоже надо учиться

Level of difficultyMedium
Reading time13 min
Views4.3K

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

Удивительно что на Хабре нет статьи посвященной анализу теоремы Шенннона-Хартли и тому какой смысл она несет.

Сатья подготовлена по материалам из книги Бернарда Скляра "Цифровая связь", 2003 г.

Содержание:

1. Задачи и проблемы построения эффективных-экономных систем связи

2. Что можно определить как математику компромиссов

3. Несерьезная интерпретация теоремы Шеннона-Хартли из учебных материалов отечественных ВУЗов.

4. Теорема Шеннона из проверенного источника

5.  Энтропия как мера информативности

6. Отличие дискритизации по Найквисту от дескритизации по Шеннону

7. Пример со сдвигом за пределы или как и когда можно организовать надежный прием глубоко под шумом.

Читать далее

Вычислительная мощность Вселенной и её пределы. Может ли Вселенная симулировать саму себя?

Level of difficultyMedium
Reading time31 min
Views4.4K

Переходим от философской составляющей гипотезы «всё из кубита» к её математической основе – цифрам и формулам, определяющим вычислительную природу реальности. Если Вселенная – квантовый компьютер, что является её «железом», какие физические процессы можно считать логическими операциями и по каким алгоритмам она обрабатывает информацию? Не являются ли эти квантовые алгоритмы «мыслями» Вселенной, процесс вычисления – решением некоего уравнения, а жизнь и разум – единственным правильным ответом? Есть ли закономерность в сходстве космической паутины сверхскоплений галактик и нейронной сети человеческого мозга? Может ли Вселенная оказаться чьим-то мозгом и обладать сознанием? Достаточно ли у Вселенной вычислительных ресурсов, чтобы создать полную симуляцию самой себя?

На все поставленные вопросы я отвечу в данной статье, опираясь на расчёты одного из основоположников теории «всё из кубита» Сета Ллойда. Также мы разберёмся с тремя физическими пределами, ограничивающими скорость вычислений и объём памяти компьютеров – пределом Бремерманна, пределом Бекенштейна и пределом Ландауэра. Заодно посмотрим, как будут выглядеть работающие на этих пределах устройства – предельный ноутбук и сингулярный компьютер.

Читать далее

Европейская металлургия от костра до мартена

Reading time8 min
Views24K


На протяжении всей истории человечества образ хозяйствования нашей цивилизации определяли металлы. Вообще говоря, все первые металлы, открытые человечеством, стоят правее водорода в электрохимическом ряду напряжений металлов. Это так просто потому, что все остальные по закону неумолимой термодинамики будут окислены во влажных и окислительных условиях атмосферы и литосферы. Точнее говоря, те, что правее водорода, тоже будут окислены – но сильно позже. А пока что встречайте: медь, серебро, золото, сурьма!
Читать дальше →

Как измерить расстояние с точностью до нанометров или даже пикометров? Берём рулетку и… (нет, всё не так)

Level of difficultyMedium
Reading time8 min
Views9.4K
Картинка Cookie_studio (Freepik), Youtube-канал «Huygens Optics»

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

Более продвинутые в инженерном плане вспомнят про штангенциркули, микрометры и концевые меры длин (плитки Иогансона).

Тем не менее, есть ещё один класс способов, который позволяет измерять расстояния со сверхмалым разрешением — вплоть до одного нанометра и менее…
Читать дальше →

Почему апории Зенона на самом деле не решены до сих пор и как это связано с фундаментальными вопросами современной науки

Reading time27 min
Views16K

Это будет очень большая статья, в рамках которой я бы хотел обсудить одну проблему, которая подавляющему большинству людей кажется абсолютно незначительной и уже давно решенной, однако на самом деле это проблема не решена и она не просто не незначительна, но имеет огромное фундаментальное значение в контексте развития современного естествознания. Речь идет об апориях Зенона. Если ранее вы о них ничего не слышали или слышали только мельком, то приготовьтесь, сейчас вам откроется целый удивительный мир, в котором сходятся в одно целое математика, философия и естествознание. Если об апориях вы хорошо осведомлены и считаете, что я решил вновь попереливать из пустого в порожнее давно решенные в математическом анализе древние загадки, то будьте готовы расстаться с прежними шаблонами и взглянуть на мир совершенно под другим, весьма неожиданным углом. Статья будет сложной, но я хочу, чтобы она оказалась понятной и новичкам и людям опытным в разных науках, поэтому она будет объемной, так как придется многие моменты подробно разъяснять. Моя цель - показать, что мир совсем не такой, каким кажется. Показать, что древние логические парадоксы - это нечто гораздо большее, чем просто веселые задачки для ума. Показать, что философия - это не просто словоблудие, а истинный способ заглянуть за ширму мироздания, но только при условии, что философ готов опираться на математику и физику, а физики и математики готовы мыслить по-настоящему философски (как эти делали, кстати, абсолютно все величайшие ученые в истории человечества).

Читать далее

Феномен высокотемпературной сверхпроводимости: гипотезы и проблемы единой теории

Level of difficultyHard
Reading time9 min
Views2.2K

Сверхпроводимость — особое состояние материала, при котором его электрическое сопротивление стремится к нулю при охлаждении ниже некоторой критической температуры (Tc). Одновременно материал «выдавливает» из себя магнитное поле (эффект Мейснера). Для классических (низкотемпературных) сверхпроводников Tc обычно лежит вблизи нескольких Кельвинов. А вот у высокотемпературных сверхпроводников (ВТСП) эта граница оказывается гораздо выше: исторически её проводили около 30 K, но на практике особо примечательны соединения с Tc больше 77 K (кипение жидкого азота). Хотя «высокотемпературные» всё ещё требуют криогенного охлаждения, оно намного проще за счёт жидкого азота вместо жидкого гелия.

Хочу узнать больше!

Information

Rating
Does not participate
Date of birth
Registered
Activity