Search
Write a publication
Pull to refresh
0
0

User

Send message

C++ zero-cost abstractions на примере хеш-таблиц в ClickHouse. Доклад Яндекса

Reading time12 min
Views13K
Хеш-таблицы — это королевы структур данных. Нигде не сломано так много копий, как на оптимизации хеш-таблиц. В докладе я рассказал ещё об одной хеш-таблице, которая используется в ClickHouse. Вы увидите, что zero-cost abstractions в современном С++ оправдывают себя и как с помощью небольших трюков получить разнообразные структуры данных из общей кодовой базы. На основе общих строительных блоков можно построить быстроочищаемую хеш-таблицу, несколько видов LRU-кешей, lookup-таблицы без хешей, хеш-таблицы для строк и т. п. Я показал, как получить максимальную производительность на конкретных сценариях и не ошибиться при её тестировании. В моём докладе — самая мякотка низкоуровневых оптимизаций. В общем, то, что мы любим.

— Для начала мы обсудим, зачем нужны хеш-таблицы, где их можно использовать в базах данных и как сделать их оптимальными. Затем посмотрим бенчмарки различных хеш-таблиц в интернете и разбёремся, как делать их правильно. В конце посмотрим на C++-обертку над идеальной хеш-таблицей в ClickHouse.
Читать дальше →

Тайна списка шумерских царей. Часть 2. Плуг судьбы

Reading time23 min
Views16K

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

Итак, посмотрим на начало царского списка, на тех царей, что правили до потопа.

Читать далее

Тайна списка шумерских царей. Часть 1. Машина времени

Reading time15 min
Views50K

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

Если древний Египет со своими памятниками всегда был на виду, то о существовании шумеров наука узнала только в середине XIX века. Проделав огромный труд и расшифровав аккадскую клинопись, историки внезапно столкнулись с неожиданной проблемой. Часть клинописных текстов никак не получалось прочитать. Знаки были те же, но смысл не складывался. Сначала грешили на тайнопись жрецов, но потом поняли, что на самом деле столкнулись с другим более древним языком, письменность которого совпадала с аккадской. Так начался новый виток расшифровки клинописи, который в итоге привел к открытию великой шумерской цивилизации.

Читать далее

Тайна списка шумерских царей. Часть 3. Зодиак

Reading time33 min
Views16K

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

Что вы знаете об астрологии? Название “астрология” происходит от древнегреческого ἀστήρ «звезда» и λόγος «мысль, причина». Сама астрология — это некая древняя практика, которая позволяет гадать по звездам. Дескать, звезды влияют на судьбы людей и по положению звезд можно предсказывать будущее.

Как вы относитесь к астрологии? Здравомыслящий человек понимает, что астрология — это, как и всякое гадание, шарлатанство. Положение Солнца, планет и созвездий выступает генератором случайных сочетаний, которым астрологи дают свои толкования. Люди, склонные к мистицизму, готовы платить за это деньги. Спрос рождает предложение.  Все так?

Что такое знаки зодиака? Есть двенадцать созвездий, лежащих на годичном пути Солнца. То, в каком знаке родился человек, по мнению астрологов определяет его характер и судьбу. Зодиак придумали греки, поместив на небо героев своих мифов.

Читать далее

Неожиданные причины торможения программ и систем

Reading time29 min
Views51K

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

Я назвал пост Surprisingly Slow потому, что замедление было для меня неожиданным, или неоптимальные практики, ведущие к замедлению, настолько распространены, что многие программисты будут удивлены их существованию.

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

Минкульт и ФАС ответили на запросы о ситуации с удалением с Ютюба советских мультиков

Reading time8 min
Views48K
В октябре 2020 с платформы Ютюб исчезло более тысячи мультфильмов т.н. золотой коллекции, снятых во времена Советского Союза на студии Союзмультфильм. В январе 2021 пользователи заметили, что коллекция стала вновь доступна на Ютюбе, но не для жителей России — канал Союзмультфильм выставил региональные ограничения на контент так, чтобы из России его нельзя было загрузить.

Теперь в ответ на запросы граждан ситуацию официально прокомментировали Минкульт, Союзмультфильм и ФАС.

Ответы коротко: «всё ок, это норма». Подробнее под катом, кому интересно.
Читать дальше →

О выгорании в СССР из книжки 1973 года

Reading time8 min
Views77K

Досталась мне от бати книжка издания 1973 года, отпечатанная на ротапринте. Наткнулся в ней на вещи, которые бы мы сейчас назвали проблемой "выгорания". Термина в то время еще не было, но проблема была. Я выписал кое-какие вещи чисто для себя, но потом решил все же опубликовать, может кому пригодится...

Читать далее

Вертолеты на Марсе жужжат и не отбрасывают тень

Reading time29 min
Views81K

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

В этом выпуске: астрономические наблюдения теней в пустыне, аугментация ушей, заглядывание за левый край видео, гадание по фотографиям и особенности работы GSCMOS матриц семилетней давности.

Нажмите чтобы узнать ПРАВДУ

Всемогущий FFmpeg: скриншаринг в WebRTC

Reading time9 min
Views17K

Когда мы пишем статьи о своем сервере в комментариях очень часто находится читатель, который говорит:

"И зачем такой огород городить? Все это одной FFmpeg командой делается!"

Читать далее

Рынок IT-вакансий: куда бежать и, главное, зачем

Reading time5 min
Views28K

Современные реалии таковы: спрос на IT-специалистов значительно выше их количества, зарплаты растут, а миграция кадров перестала быть сезонным явлением. Многочисленные курсы обещают низкий порог входа, а работодатели готовы вкладывать деньги и силы в обучение даже потенциальных сотрудников. Как тут не решиться на переход в IT?

С помощью нашего сервиса @Getmeit_bot мы смогли собрать любопытную статистику, отражающую основные тренды рынка найма IT-специалистов за последнее полугодие. Они помогут начинающим специалистам определиться со своим карьерным путем, а уже состоявшимся — сформировать представление, с чем выходить на рынок найма и куда двигаться дальше с целью карьерного роста.

Читать далее

std::move vs. std::forward

Reading time8 min
Views51K

Несмотря на то, что материалов на тему move-семантики и идеальной передачи в Интернете предостаточно, вопросов типа «что я должен здесь использовать: move или forward?» не становится меньше или мне просто «везет» на них. Поэтому и решено было написать эту статью. Предполагается, что читатель хотя бы немного знаком с rvalue-ссылками, move-семантикой и идеальной передачей.

Читать далее

Как ускорить шифрование по ГОСТ 28147-89 на процессоре Baikal-M

Reading time12 min
Views6K

Наиболее важные замечания перед написанием алгоритма


В этом посте на примере описания реализации алгоритма шифрования по ГОСТ 28147–89, построенного на сети Фейстеля, показаны возможности процессора Baikal-M и проведен анализ конвейера и сравнительные испытания реализации алгоритма с помощью векторных вычислений с сопроцессором SIMD и без него.

Особо хочу подчеркнуть, что Baikal-M не содержит на аппаратном уровне шифрования/криптографии. Описанные в этом посте действия применяются для проверки возможности создания программно-реализуемых средств шифрования.

Для тех, у кого нет времени или желания читать #многобукв# сразу результат – на Baikal-M можно получить 8 * 650Мбит/c ~ 5.2Гбит/с (с одного А57 ядра ~650Мбит/с)

СнК Baikal-M


Общая схема СнК ниже. Важно — СнК содержит 8 ядер ARM Cortex A57 (алгоритм оптимизирован под это ядро)

image

Ядро ARM Cortex-A57


Оптимизация алгоритма ГОСТ89 производится согласно документу ARM Cortex-A57 software optimization guide.

На следующем рисунке отображена схема конвейера ядер Cortex-A57 в составе процессора Baikal-M, для которого производилась оптимизация алгоритма.
Читать дальше →

Лучшее компьютерное кресло: табурет и здоровые мышцы спины

Reading time5 min
Views101K

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

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

Бесплатный персональный OpenVPN-сервер на базе Oracle Cloud

Reading time6 min
Views103K

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

Oracle, придя на рынок облачных сервисов, активно привлекает новых клиентов. И одним из инструментов такого привлечения являются Always Free сервисы - зарегистрировавшийся клиент может пользоваться каким-то достаточно ограниченным набором ресурсов, как это следует из названия, бесплатно и неограниченно во времени. В список этих ресурсов входит два compute инстанса (каждый 2 ядра, 1GB RAM, 45GB HDD), которые можно использовать подо что угодно, но в нашем случае мы можем построить на них полностью бесплатный OpenVPN-сервер, буквально не умея практически ничего, кроме тыкания в кнопку Next. Чем мы и займемся.

Читать далее

Большой тест 6 автомобильных аккумуляторов иностранных брендов 2021. Часть 1: заряд и 20-часовой разряд

Reading time8 min
Views62K

Привет, Хабр! Сегодня испытаниям подвергнутся 6 стартерных аккумуляторных батарей (АКБ) в корпусе L2: Topla Energy Banner Power Bull Ista 7 series Mutlu SFB Exide Excell и Varta Стандарт. Все они произведены по современной Ca/Ca технологии.

Открытый доступ к пробкам имеется только у двух из шести, потому заодно разберёмся, по каким критериям определить, полностью ли заряжен необслуживаемый (MF, SMF) аккумулятор без доступа к электролиту, каковых сейчас на рынке большинство. А также проверим повторяемость показаний экспресс-тестера Konnwei, в которых сомневаются некоторые блогеры.

Фантасты, которых стоит почитать любителям английского юмора

Reading time4 min
Views21K

Английский юмор — словосочетание, которое интуитивно-понятно, но объяснить его тяжело. «Википедия» утверждает, что он несет в себе сильный элемент сатиры над «абсурдностью повседневной жизни». Пожалуй, к этому определению стоит добавить иронию, самоиронию, а вместе с этим — невозмутимый тон рассказчика.

Если вам такое сочетание по душе, то вот несколько авторов фантастики и фэнтези, чьи книги невозможно себе представить без фирменного английского юмора. 

Читать далее

Интервью с создателем SQLite (часть 1): история создания SQLite и Консорциума, сотрудничество с Motorola, AOL и Nokia

Reading time8 min
Views14K

Адам: Привет и добро пожаловать в CoRecursive. Я Адам Гордон Белл. В каждом эпизоде ​​CoRecursive кто-то делится увлекательной историей создания собственного программного обеспечения.

Что произойдет, если сайд-проект, который вы делали по фану, вдруг станет популярным во всём мире? Как вы будете монетизировать его? Будете ли вы уделять ему всё своё время? Будете ли вы париться на счёт его обслуживания или просто оставите сервера включёнными и соберёте для них шкаф? У меня есть специальный гость, который ответит на эти и многие другие вопросы.

Ричард: Привет, я Ричард Хипп — разработчик SQLite.

Адам: СУБД SQLite вы можете встретить где угодно: в веб-браузере, в вашем телефоне, возможно, в вашей машине и даже в авиалайнерах. SQLite используют для хранения ваших сообщений в iMessages и WhatsApp. Попробуйте поискать на своём девайсе файлы с расширением .db, и вы удивитесь, насколько много баз данных SQLite окажется на борту. 
Читать дальше →

Функция, которую мне хотелось бы видеть в Git: группы коммитов

Reading time7 min
Views14K

Почти все любят Git. Я тоже. Он работает, он эффективен, в нём изумительная модель данных, и в нём есть все возможные инструменты. За 13 лет использования не было случая, чтобы я не находил в Git нужный мне инструмент. До недавнего времени. Но сначала давайте поговорим о GitHub.
Читать дальше →

Делу время, потехе час! Тезисы «мифического человеко-месяца» Фредерика Брукса, в пословицах и поговорках

Reading time27 min
Views14K

Время — судья


Книга “мифический человеко-месяц”, заслуживает того, чтобы её читали и перечитывали, издавали и переиздавали. В 2025 году, а он не за горами, будет 50 лет первому изданию. Т.е. проверка временем пройдена. В 1995 году вышло юбилейное издание (ждём юбилейного издания 2К25), в предисловии к которому, автор, помимо прочего, сообщает:
Работая над обзором и обновлением книги «Мифический человеко-месяц», я поразился, как мало тезисы, заявленные в ней, были подвергнуты критике, доказаны или опровергнуты текущими исследованиями и опытом в инженерии ПО. Теперь для меня оказалось полезным каталогизировать эти тезисы в сырой форме, лишённой подтверждающих аргументов и данных. В надежде, что эти голые утверждения привлекут аргументы и факты для доказательства, опровержения, обновления или уточнения, я включил этот план в главу 18.

Кто празднику рад, тот накануне пьян


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

В споре рождается истина


А цель всё та же что у Брукса, ещё раз обратить внимание, и привлечь новые аргументы, доказательства, опровержения или уточнения.

А заодно расслабиться, и повеселиться. Не воспринимайте написанное слишком буквально — без смешного нельзя понять серьёзное.
Читать от доски до доски...

Как найти удаленную работу в зарубежной компании. 10 шагов

Reading time10 min
Views71K


Каждый год Оксфордский словарь английского языка выбирает «Слово года». Но в 2020-м что-то пошло не так. Издательство Оксфордского университета описало 2020-й как «год, который лишил нас дара речи», и сказало, что к нему невозможно подобрать правильное слово.


Но на наш взгляд, такое слово всё-таки есть. С прошлого марта в мире резко возросло использование слова «удаленно». Большинство предприятий отошли от традиционной модели офисной работы и стали пытаться организовать труд сотрудников из дома. Для разработчиков из СНГ это прекрасная возможность начать работу в лучших мировых компаниях. Зарплаты за рубежом выше, а возможностей сейчас стало больше, чем когда-либо прежде.


Мы постоянно исследуем рынок. Публикуем сотни вакансий ежедневно. И сейчас 40% выручки получаем от иностранных компаний, которые в основном нанимают программистов для удаленной работы.


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

Читать дальше →

Information

Rating
Does not participate
Registered
Activity