Улучшение для библиотеки c‑client

  PHP использует библиотеку c-client из набора University of Washington IMAP toolkit для работы с IMAP. Небольшое расследование сильного падения производительности на больших почтовых ящиках, проведенное Марисом, обнаружило что c-client использует для внутренней работы индексы сообщений, преобразуя в них UID-ы. Для чего на КАЖДОЕ сообщение посылается запрос на сервер для получения номера индекса из UID-а: на миллион сообщений – миллион запросов к imap только чтобы определить номер индекса из UID.
  Спецификация IMAP позволяет одним запросом получать данные сразу для множества сообщений, перечисляя UID-ы через запятую. Небольшая заплатка для реализации данного функционала – c-client-FT_UID-speedup.patch

2 Responses to “Улучшение для библиотеки c‑client”

  1. Вадим says:

    А ничо что этот патч принадлежит работадателю? Авторское право автоматически переходит вашему дяде (на которого вы работаете), и без его согласия нельзя обнародовать исходные коды :-#

    У вас есть разрешение?

  2. deniss says:

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

Leave a Reply