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
opkg: apply "1-pkg-parse--Optimize-inefficient-parsing.patch" from OpenEmbedded
pkg_parse: Optimize inefficient parsing. Instead of expensively probing all
fields in row, dispatch based on the first letter of the field. Tests show ~12
times reduction in number of calls to low-level parsing functions.
git-svn-id: http://opkg.googlecode.com/svn/trunk@17
e8e0d7a0-c8d9-11dd-a880-
a1081c7ac358
opkg: don't print "Successfully terminated." message
git-svn-id: http://opkg.googlecode.com/svn/trunk@16
e8e0d7a0-c8d9-11dd-a880-
a1081c7ac358
opkg: fix some compiler warnings
git-svn-id: http://opkg.googlecode.com/svn/trunk@15
e8e0d7a0-c8d9-11dd-a880-
a1081c7ac358
opkg: don't report the same download percentage multiple times
git-svn-id: http://opkg.googlecode.com/svn/trunk@14
e8e0d7a0-c8d9-11dd-a880-
a1081c7ac358
opkg: include the current url being downloaded in the progress callback
git-svn-id: http://opkg.googlecode.com/svn/trunk@13
e8e0d7a0-c8d9-11dd-a880-
a1081c7ac358
opkg: Fix #ifdef
git-svn-id: http://opkg.googlecode.com/svn/trunk@12
e8e0d7a0-c8d9-11dd-a880-
a1081c7ac358
* Add proxy username/password support
git-svn-id: http://opkg.googlecode.com/svn/trunk@11
e8e0d7a0-c8d9-11dd-a880-
a1081c7ac358
opkg: add a download progress callback hook to libopkg
git-svn-id: http://opkg.googlecode.com/svn/trunk@10
e8e0d7a0-c8d9-11dd-a880-
a1081c7ac358
opkg: fix progress bar
git-svn-id: http://opkg.googlecode.com/svn/trunk@9
e8e0d7a0-c8d9-11dd-a880-
a1081c7ac358
* Rename top level ipkg directory to opkg
git-svn-id: http://opkg.googlecode.com/svn/trunk@8
e8e0d7a0-c8d9-11dd-a880-
a1081c7ac358
ipkg: add a simple progress bar while downloading
git-svn-id: http://opkg.googlecode.com/svn/trunk@7
e8e0d7a0-c8d9-11dd-a880-
a1081c7ac358
ipkg: remove more auto-generated files
git-svn-id: http://opkg.googlecode.com/svn/trunk@6
e8e0d7a0-c8d9-11dd-a880-
a1081c7ac358
ipkg: replace wget with libcurl functions
git-svn-id: http://opkg.googlecode.com/svn/trunk@5
e8e0d7a0-c8d9-11dd-a880-
a1081c7ac358
ipkg: remove auto-generated files
git-svn-id: http://opkg.googlecode.com/svn/trunk@4
e8e0d7a0-c8d9-11dd-a880-
a1081c7ac358
* Add ipkg for future development
git-svn-id: http://opkg.googlecode.com/svn/trunk@3
e8e0d7a0-c8d9-11dd-a880-
a1081c7ac358
initial dir
git-svn-id: http://opkg.googlecode.com/svn/trunk@2
e8e0d7a0-c8d9-11dd-a880-
a1081c7ac358
Initial directory structure.
git-svn-id: http://opkg.googlecode.com/svn/trunk@1
e8e0d7a0-c8d9-11dd-a880-
a1081c7ac358