git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Quilt vs. StGIT Performance

From
CMCatalin Marinas <catalin.marinas@gmail.com>
Date
Oct 4, 2005, 09:09 UTC
Message-ID
<tnxirwdfy2d.fsf@arm.com>

I ran some benchmarks on both Quilt and StGIT (only the push/pop operations) with the -mm series (2.6.14-rc2-mm2, 566 patches). All the patches were refreshed since GIT does not support fuzzy patches. The tools output was directed to /dev/null (a slight advantage for Quilt since it prints more information). For the StGIT benchmarks, the base of the stack was modified before each 'stg push -a' command because otherwise pushing would just fast-forward the patches (timing similar to the pop command).

As you can see below, 'quilt push' is much faster than 'stg push'. The profiling information on the latest snapshot shows that StGIT spends most of the time (~75%) in git-write-tree (which calculates the SHA1 value of the index file after every push). Unfortunately, this cannot be avoided (otherwise, we would simply re-write Quilt).

There are other advantages of StGIT vs. Quilt but I won't go through them in this e-mail. For huge number of patches, it's up to you to decide whether speed is more important than the other StGIT features.

Quilt vs. StGIT (push/pop) ==========================

No. patches:   566 (linux-2.6.14-rc2-mm2)
Machine:       P4 @ 2.5GHz, 512MB RAM, WDC IDE disk
OS:            Linux 2.6.8-2-686 #1 Thu May 19 17:53:30 JST 2005 i686 GNU/Linux
StGIT version: snapshot of 2005-10-04
Quilt version: 0.39-2 (on Debian)
GIT version:   0.99.8.GIT
       run 1     run 2     run 3     run 4     run 5    average   per patch
---------------------------------------------------------------------------
stg push
---------------------------------------------------------------------------
real  4:56.261  4:07.660  3:37.361  4:20.393  4:16.312  4:15.597  0.452s
user  1:44.004  1:44.051  1:44.047  1:43.802  1:43.718  1:43.924
sys   0:49.803  0:49.812  0:49.458  0:49.714  0:49.954  0:49.748
---------------------------------------------------------------------------
stg pop
---------------------------------------------------------------------------
real  0:27.918  0:14.123  0:17.280  0:45.767  0:26.957  0:26.409  0.047s
user  0:01.857  0:01.852  0:01.864  0:01.883  0:01.867  0:01.865
sys   0:00.761  0:00.703  0:00.680  0:00.796  0:00.740  0:00.736
---------------------------------------------------------------------------
quilt push
---------------------------------------------------------------------------
real  1:00.584  0:36.191  0:34.728  0:24.723  0:30.498  0:37.345  0.066s
user  0:05.687  0:05.551  0:05.632  0:05.591  0:05.618  0:05.616
sys   0:07.835  0:07.588  0:07.454  0:07.536  0:07.552  0:07.593
---------------------------------------------------------------------------
quilt pop
---------------------------------------------------------------------------
real  0:55.772  0:44.721  0:45.503  0:58.081  0:51.621  0:51.140  0.090s
user  0:13.606  0:13.601  0:13.646  0:13.725  0:13.590  0:13.634
sys   0:24.813  0:24.762  0:24.697  0:24.658  0:24.833  0:24.750
-- 
Catalin
Message 1 of 1 in “Quilt vs. StGIT Performance”
  1. Catalin MarinasOct 4, 2005

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.