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

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

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

Wikinews-logo-ru.svg

Компания Яндекс с целью привлечения внимания к своим открытым проектам начала наполнение в сервисе 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-операций.
 

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


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

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