From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Tue, 27 Dec 2011 23:29:49 +0400 From: Alexey Tourbin To: ALT Linux Team development discussions Message-ID: <20111227192949.GC24119@altlinux.org> References: <20111223211515.GA916@t60p.mithraen.ru> <20111225044735.GA21576@altlinux.org> <20111225145304.GA15050@t60p.mithraen.ru> Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20111225145304.GA15050@t60p.mithraen.ru> Subject: Re: [devel] robots VS sisyphus X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Dec 2011 19:29:49 -0000 Archived-At: List-Archive: List-Post: On Sun, Dec 25, 2011 at 06:53:04PM +0400, Денис Смирнов wrote: > On Sun, Dec 25, 2011 at 08:47:36AM +0400, Алексей Турбин wrote: > AT> Apt масштабируется как O(n), где n - количество пакетов. > > На какой операции? > И n -- количество пакетов, а не зависимостей? Амортизированное время разрешения зависимостей при установке пакетов. Например, это операция "apt-cache unmet" или более сложная операция "apt-shell << AT> Кроме того, константа масштабирования очень хорошая: на сервере с 24G RAM > AT> все операции апта выполняются менее чем за секунду. То есть нет такого, > AT> что сожрали CPU user time и никакого ответа не дали - дескать подождите ещё. > > Увы, не у всех пока есть ноутбуки с характеристиками "сервера с 24G RAM", > например. А apt используется отнюдь не только при сборке пакетов. > > А когда я при apt-cache вижу вот такое: > 4.85s user 3.06s system 22% cpu 34.723 total > > мне становится сразу понятно что apt недостаточно быстрый с точки зрения > пользователя. Не надо сравнивать полнотекстовый поиск, который представляет частный/ разовый интерес, и разрешение зависимостей, которе должно масштабироваться в цикле. > apt-cache search должен выполняться за менее чем 1s на среднем железе. > Среднее сейчас это что-то вроде 2G RAM, 2GHz core 2 duo. Ты не понимешь, как работает apt. "Apt-cache search" практически построчно сканирует те файлы, которые он скачал. Это никогда не будет слишком быстро работать, by design. А обработка зависимостей происходит на порядок быстрее за счет создания промежуточной структуры данных - /var/cache/apt/pkgcache.bin.