Яндекс начал формирование коллекции своих открытых проектов

Материал из Викиновостей, свободного источника новостей

11 ноября 2010 года

Компания Яндекс с целью привлечения внимания к своим открытым проектам начала (Архивная копия от 13 ноября 2010 на Wayback Machine) наполнение в сервисе GitHub группы репозиториев Yandex-OpenSource. По утверждению представителя Яндекса, в компании развивается много открытых приложений, библиотек и готовых решений, которые как правило остаются в тени и особо не афишируются. Теперь подобные проекты будут постепенно переноситься в репозитории GitHub и их можно будет окинуть взглядом через группу Yandex-OpenSource.

В настоящее время в GitHub перенесены следующие проекты:

  • PIRE (Perl Incompatible Regular Expressions) - библиотека с реализацией регулярных выражений, оптимизированных для выполнения большого числа проверок для огромных объёмов текста. Код PIRE был разработан для поискового робота и отличается очень высокой производительностью. Библиотека также прекрасно справляется с очень длинными регулярными выражениями, обработка которых не приводит к заметному понижению производительности.

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

При выполнении регулярного выражения ".*$" для файла размером 500 Мб скорость обработки данных в PIRE составляет 756,32 МБ/сек, в то время как библиотека RE2 от компании Google обрабатывает данные со скоростью 242,28 МБ/сек, а классическая библиотека pcre - 31,67 МБ/сек. При проходе более сложным регулярным выражением "ABCDEFGHIJKLMNOPQRSTUVWXYZ$" разрыв по скорости с RE2 уменьшается: PIRE - 755,98 МБ/сек, RE2 - 653,76 МБ/сек, pcre - 153,67 МБ/сек. При использовании выражения "(\d{3}-|\(\d{3}\)\s+)(\d{3}-\d{4})$": PIRE - 775,89 МБ/сек, RE2 - 423,76 МБ/сек.

  • Xiva - компактный и быстрый асинхронный HTTP-сервер для реализации серверной части протокола WebSockets, используемого для инициирования определённых действий по сигналу с сервера. В настоящее время проект используется для обеспечения работы уведомлений о новых письмах в web-интерфейсе Яндекс.Почты. Xiva достаточно узкоспециализированный сервер, оптимизированный для выполнения только определённого круга задач (например, не поддерживает POST-запросы). В комплекте поставляется небольшое демонстрационное приложение на языке Python с реализацией web-чата.
  • NwSMTP - быстрый SMTP прокси-сервер, принимающий на себя нагрузку и осуществляющий первичную фильтрацию перед передачей почты на основной почтовый сервер. Сервер может обеспечивать поддержку SSL, производить фильтрацию по чёрным спискам и DNSBL, управлять таймаутами, отфильтровывать сообщения по размеру и числу получателей, удалять и править заголовки, проверять SPF-записи, выполнять DKIM-верификацию, производить антиспам и антивирусные проверки. NwSMTP задействован в Яндекс.Почте. Пример файла конфигурации можно посмотреть здесь.
  • Серия дополнений к Python-фреймворку Django:
  • django_dust - реализация системы для одновременного сохранения загружаемых файлов на нескольких серверах (Distributed Upload STorage);
  • django_errorlog - обеспечение сохранения логов о работе сервера в стандартном для Python виде;
  • django_replicated - модуль с реализацией master-slave репликации между несколькими серверами всех SQL-операций.

Источники[править]


Creative Commons
Creative Commons
Эта статья содержит материалы из статьи «Яндекс начал формирование коллекции своих открытых проектов», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии[править]

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.