opkg: apply "2-pkg-vec--Optimize-gross-inefficiency.patch" from OpenEmbedded
authorticktock35 <ticktock35@e8e0d7a0-c8d9-11dd-a880-a1081c7ac358>
Mon, 15 Dec 2008 04:19:43 +0000 (04:19 +0000)
committerticktock35 <ticktock35@e8e0d7a0-c8d9-11dd-a880-a1081c7ac358>
Mon, 15 Dec 2008 04:19:43 +0000 (04:19 +0000)
commitb67dc062ae9c689f0453d46bba47ceba832f676f
tree2e16ef82b4382eae29ff20080225971e32223aac
parent3cc2f7cb4d7697df61e6212bbd658f186cdf2b34
opkg: apply "2-pkg-vec--Optimize-gross-inefficiency.patch" from OpenEmbedded

  pkg_vec: Optimize gross inefficiency.

  This module tries to implement *unique* vector (without duplicating objects),
  and does this by iterating thru all already existing elements.  Thus,
  complexity of adding N elements was O(N^2). However, there're no grave reasons
  to do uniqueness at all:

  1. First of all, if feeds are correct, there won't be duplicates.
  2. Then, even if there will be, there won't be serious problems like
     segfaults.
  3. Finally, for quite a few operations vectors is constructed from a
     hashtable, thus uniqueness is guaranteed (which reduces possible cases of
     non-uniqueness to values of Depends: and friends).

  All an all, remove dup check, and make ipkg work order of magnitude faster on
  a feed with few thousands of packages.

git-svn-id: http://opkg.googlecode.com/svn/trunk@18 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
pkg_vec.c