diff options
author | Nguyễn Thái Ngọc Duy <pclouds@gmail.com> | 2012-03-12 09:32:29 +0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2012-03-11 23:37:04 -0700 |
commit | c32a1bf818fe7304d0e1868f3d2316132512276d (patch) | |
tree | dcc41e70578b60d5f212d7b04b9399bea7dd01ab /check-racy.c | |
parent | 8e8aa58784996b2556edc9d2da0889c887dec50e (diff) | |
download | git-nd/threaded-index-pack.tar.gz |
index-pack: support multithreaded delta resolvingnd/threaded-index-pack
This puts delta resolving on each base on a separate thread, one base
cache per thread. Per-thread data is grouped in struct thread_local.
When running with nr_threads == 1, no pthreads calls are made. The
system essentially runs in non-thread mode.
An experiment on a Xeon 24 core machine with linux-2.6.git shows that
performance does not increase proportional to the number of cores. So
by default, we use maximum 3 cores. Some numbers with --threads from 1
to 16:
1..4
real 1m16.310s 0m48.183s 0m37.866s 0m32.834s
user 1m13.773s 1m15.537s 1m15.781s 1m16.233s
sys 0m2.480s 0m3.936s 0m4.448s 0m4.852s
5..8
real 0m33.170s 0m30.369s 0m28.406s 0m26.968s
user 1m31.474s 1m30.322s 1m29.562s 1m28.694s
sys 0m6.096s 0m6.268s 0m6.684s 0m7.172s
9..12
real 0m26.288s 0m26.207s 0m26.239s 0m24.945s
user 1m29.530s 1m36.146s 1m43.134s 1m34.182s
sys 0m8.129s 0m8.437s 0m9.697s 0m10.201s
13..16
real 0m25.110s 0m25.043s 0m23.955s 0m25.746s
user 1m39.262s 1m43.598s 1m38.350s 1m59.775s
sys 0m10.997s 0m11.553s 0m11.949s 0m13.689s
Thanks to Ramsay Jones for troubleshooting on MinGW platform.
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'check-racy.c')
0 files changed, 0 insertions, 0 deletions