Sugg: Improve for mock (caching)
seth vidal
skvidal at linux.duke.edu
Fri Feb 17 20:25:02 UTC 2006
> ok, a little bit late, but I implemented caching now so I can provide
> some real numbers:
>
> Traditional 'mock init' on a tmpfs takes
>
> | Init buildroot...
> |
> | real 1m37.445s
> | user 1m15.329s
> | sys 0m8.009s
>
> tar'ing this filesystem, and extracting it takes
>
> | Extracting cached buildroot...
> |
> | real 0m1.266s
> | user 0m0.188s
> | sys 0m0.944s
>
>
> Both operations are resulting into the same root-fs; the executed code
> was:
>
> | mock=( env http_proxy= mock --resultdir="$results" -r "$MOCK_ROOT" )
> | mock_yum=( env http_proxy= /usr/sbin/mock-helper yum --installroot "$BUILD_DIR" )
> |
> | function initBuildroot() {
> | "${mock[@]}" clean >/dev/null
> |
> | if test -e "$CACHE_NAME"; then
> | echo "Extracting cached buildroot..."
> | time /usr/sbin/mock-helper uncache "$MOCK_ROOT"
> |
> | echo "Updating metadata..."
> | "${mock_yum[@]}" check-update || :
> | else
> | lock
> | echo "Init buildroot..."
> | time "${mock[@]}" init >/dev/null
> | unlock
> |
> | echo "Cleaning up root..."
> | "${mock_yum[@]}" clean packages headers
> | echo "Creating cache..."
> | /usr/sbin/mock-helper cache "$MOCK_ROOT"
> | fi
> | }
>
> The 'cache' and 'uncache' operations of 'mock-helper' were added by me
> and are simple 'tar' wrappers. The resulting tarball is uncompressed and
> 280MB sized, both the rootfs and the tarball are located in the tmpfs.
>
> Environment:
> mock-machine: Intel Celeron 2.80GHz, 1500MB RAM
> repository-server: PII 266MHz, 196MB RAM, http-access to repo (Apache2)
> 100Mb/s LAN; 'wget' download rate between repo and mock machine appr. 7-8MB/s
>
>
okay - that looks great. could I talk you into applying those patches to
the mock package in fedora cvs and testing it out? If it works and
people are happy with it then I don't see any reason not to use it.
fair enough?
-sv
More information about the Fedora-buildsys-list
mailing list