List Info

Thread: Re: Re: Darcs performance




Re: Re: Darcs performance
user name
2007-01-22 17:10:33
On Dec 5, 2006, at 3:28 AM, Simon Marlow wrote: > Maybe your virtual server has set a limit on the data size for a > process, that may be smaller than the total memory size allocated > to the virtual machine. You said earlier that it was using 160M, > how did you measure that? > > If you run darcs with "+RTS -sstderr" you'll see how much memory > the GHC heap was using (look for the "in use" figure). But the GHC > runtime doesn't allocate memory via realloc(), it uses mmap(), so > this is probably memory that darcs itself is allocating. Hi, I'm having what looks to be a similar problem, running darcs diff, except in a simpler environment. I'm not running any sort of virtual server; just a plain (modern) Linux dev box. I'm just trying to dig out a single diff to a single file. This particular file has only about a half-dozen recorded changes to it, although the repo as a whole has something like 128 recorded changes. darcs -version shows "1.0.8 (stable branch)". Earlier in this thread, Juliusz suggested trying various GHCRTS settings. I had the same results as Leslie. That is, GHCRTS=-c made no difference; GHCRTS=-G1 seemed to take forever, so I had to kill it; GHCRTS="-c -G1" was rejected as an illegal combination. Here's the result of ulimit -a and the overcommit_memory setting (which were requested of the previous user by Juliusz), as well as the output of darcs diff with +RTS -sstderr: > $ ulimit -a > core file size (blocks, -c) unlimited > data seg size (kbytes, -d) unlimited > file size (blocks, -f) unlimited > max locked memory (kbytes, -l) unlimited > max memory size (kbytes, -m) unlimited > open files (-n) 1024 > pipe size (512 bytes, -p) 8 > stack size (kbytes, -s) 8192 > cpu time (seconds, -t) unlimited > max user processes (-u) unlimited > virtual memory (kbytes, -v) unlimited > $ cat /proc/sys/vm/overcommit_memory > 0 > $ darcs diff -p 8-24 rep039.tcl +RTS -sstderr > darcs diff -p 8-24 rep039.tcl +RTS -sstderr > > darcs failed: Inverse patch failed! > realloc: resource exhausted (out of memory) > 158,762,171,564 bytes allocated in the heap > 102,601,472 bytes copied during GC > 4,632,032 bytes maximum residency (101 sample(s)) > > 604886 collections in generation 0 ( 32.60s) > 101 collections in generation 1 ( 0.13s) > > 9 Mb total memory in use > > INIT time 0.00s ( 0.00s elapsed) > MUT time 73.80s (142.73s elapsed) > GC time 32.73s ( 32.72s elapsed) > EXIT time 0.00s ( 3.25s elapsed) > Total time 106.53s (178.70s elapsed) > > %GC time 30.7% (18.3% elapsed) > > Alloc rate 2,151,248,937 bytes per MUT second > > Productivity 69.3% of total user, 41.3% of total elapsed > > $ Have I just hit the limits of darcs's capabilities? Or does there seem to be something wrong that could be fixed? Cheers, - arb _______________________________________________ darcs-users mailing list darcs-usersdarcs.net http://www.abridgegame.org/mailman/listinfo/darcs-users
Re: Re: Darcs performance
user name
2007-01-22 19:35:04
On 1/22/07, Alan Bram oracle.com> wrote: > Hi, > > I'm having what looks to be a similar problem, running darcs diff, > except in a simpler environment. I'm not running any sort of virtual > server; just a plain (modern) Linux dev box. > > I'm just trying to dig out a single diff to a single file. This > particular file has only about a half-dozen recorded changes to it, > although the repo as a whole has something like 128 recorded changes. > > darcs -version shows "1.0.8 (stable branch)". Which version of ghc was used to compile darcs? Version 6.6 made some GC changes and I have had generally better performance just by compiling with the latest version. Michael _______________________________________________ darcs-users mailing list darcs-usersdarcs.net http://www.abridgegame.org/mailman/listinfo/darcs-users
[1-2]

about | contact  Other archives ( Real Estate discussion Medical topics )