Какой map быстрее, и есть ли альтернатива Judy


Кадр из Top Gear: USA (серия 2)

В своих самых высоконагруженных сервисах мы в Badoo используем язык C и иногда C++. Зачастую эти сервисы хранят в памяти сотни гигабайт данных и обрабатывают сотни тысяч запросов в секунду. И нам важно использовать не только подходящие алгоритмы и структуры данных, но и производительные их реализации.

Практически с самого начала в качестве реализации ассоциативных массивов мы использовали Judy. У неё есть C-интерфейс и множество преимуществ. Мы даже сделали обёртку для PHP, так как в версиях PHP до 7.0 Judy сильно выигрывает по количеству потребляемой памяти по сравнению со встроенными мапами.

Однако время идёт, и с момента последнего релиза Judy прошло немало лет – самое время посмотреть на альтернативы.

Меня зовут Марко, я – системный программист Badoo в команде «Платформа». Мы с коллегами провели небольшое исследование в поисках альтернатив Judy, сделали выводы и решили поделиться ими с вами.

Читать дальше →
Какой map быстрее, и есть ли альтернатива Judy
Source: habrahabr

Пост №3100920

Автор: Colin61







Развернуть


&epicComment_3100920&
{
«@context»: «http://schema.org»,
«@type»: «BlogPosting»,
«mainEntityOfPage»:{
«@type»:»WebPage»,
«@id»:»/post/3100920″
},
«headline»: «учительница :: важный предмет»,
«image»: {
«@type»: «ImageObject»,
«url»: «http://img0.joyreactor.cc/pics/post/full/%D1%83%D1%87%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%B8%D1%86%D0%B0-%D0%B2%D0%B0%D0%B6%D0%BD%D1%8B%D0%B9-%D0%BF%D1%80%D0%B5%D0%B4%D0%BC%D0%B5%D1%82-3837804.jpeg»,
«height»: 427,
«width»: 540 },
«datePublished»: «2017-05-12T11:35:50+03:00»,
«dateModified»: «2017-05-12T11:35:50+03:00»,
«author»: {
«@type»: «Person»,
«name»: «Colin61″
},
«publisher»: {
«@type»: «Organization»,
«name»: «JoyReactor.cc»,
«logo»: {
«@type»: «ImageObject»,
«url»: «http://joyreactor.cc/images/joyreactor_ie6.png»,
«width»: 207,
«height»: 54
}
},
«description»: «»
}

Комментировать 
Пост №3100920
Source: Joyreactor

Полиция Великобритании будет принимать решения о содержании подозреваемых под стражей при помощи ИИ


Полицейские английского города Дарем собираются использовать специализированную когнитивную систему для того, чтобы она помогала им принимать важное решение — должен ли подозреваемый содержаться под стражей или его можно отпустить под залог. Система, которая разработана специально для полиции, получила название Hart (Harm Assessment Risk Tool). Hart будет оценивать подозреваемых по достаточно простой системе рисков: низкий, умеренный и высокий риск совершения преступлений в будущем.


Сама система еще не используется в полной мере, полиция лишь тестирует некоторые ее возможности, чтобы посмотреть, насколько эффективно она может иметь дело с преступниками и преступлениями. Если все будет хорошо, то в течение нескольких последующих месяцев ее введут в строй. Hart можно использовать для решения и других вопросов. Например, для того, чтобы определить количество времени, необходимое для содержания подозреваемого под стражей, определения возможности отпустить его (или ее) под залог, плюс другие важные вещи.
Читать дальше →
Полиция Великобритании будет принимать решения о содержании подозреваемых под стражей при помощи ИИ
Source: geektimes

Скидка до $100 на смартфоны и планшеты

Если вы подыскиваете себе устройство для учебы или работы легче и компактнее ноутбука, то обратите внимание на планшеты-трансформеры: они весят не более 1 кг, а по возможностям не уступают […]
Скидка до 0 на смартфоны и планшеты
Source: 4pda

Реверс-инжиниринг «Казаков», часть последняя: второе дыхание


После нескольких месяцев работы над исходным кодом игры «Казаки: Снова война» я наконец-то могу умыть руки и представить результат своих трудов. В этой статье мне хотелось бы поделиться с вами опытом рефакторинга этого незаурядного проекта, в частности кодовыми курьёзами. Всем любителям некро-программирования посвящается…
байка из склепа 1998 года
Реверс-инжиниринг «Казаков», часть последняя: второе дыхание
Source: habrahabr

«Дальше не придумали, импровизируй» или Agile в информационной безопасности

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

Читать дальше →
«Дальше не придумали, импровизируй» или Agile в информационной безопасности
Source: habrahabr

Цитата #444818

Обсуждение олдскульной стратегии про Средневековье

xxx: А как добывать железо?
yyy: Надо просто вытряхнуть из него чужого рыцаря
Цитата #444818
Source: bash

Цитата #444817

Окончил юрфак, поэтому частенько получаю вопросы из раздела к «тыжюрист». На днях порадовала знакомая.
— А автошколу можно как-то натянуть за то, что они обучают на одном авто, а потом перед экзаменом подсовывают другое, не дав толком научиться?
— Мать…а ты подумала прежде чем задавать вопрос? Ты когда права получишь, ты ж будешь иметь право управлять ЛЮБЫМ автомобилем, значит ты должна уметь управлять любым автомобилем…
Цитата #444817
Source: bash

Футбольный симулятор PES 17 посетит iOS и Android

В мире видеоигр существует два главных футбольных симулятора: FIFA и Pro Evolution Soccer. Оба имеют своих фанатов и выходят на разных платформах. В конце прошлого года для iOS и Android вышла FIFA Mobile, […]
Футбольный симулятор PES 17 посетит iOS и Android
Source: 4pda

[Перевод] Использование модулей C++ в Visual Studio 2017

Что нового?


Команда Visual C++ рада сообщить, что в Visual Studio 2017 было существенно улучшено качество реализации модулей C++ согласно технической спецификации; также мы добавили возможность подключать Стандартную Библиотеку C++ через интерфейсы модулей. Эти интерфейсы, как и поддержка модулей компилятором, являются экспериментальной разработкой и будут развиваться в соответствии с процессом стандартизации.
Читать дальше →
[Перевод] Использование модулей C++ в Visual Studio 2017
Source: habrahabr