From c04297587cb045b010f6c2f642b1079d336ff27b Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Sat, 20 Apr 2013 22:47:39 +0200 Subject: ip/torrent: use NPROC processes in parallel for calculating initial piece hashes --- sys/src/cmd/ip/torrent.c | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/sys/src/cmd/ip/torrent.c b/sys/src/cmd/ip/torrent.c index 7526b8428..a8b6f8c40 100644 --- a/sys/src/cmd/ip/torrent.c +++ b/sys/src/cmd/ip/torrent.c @@ -49,6 +49,7 @@ enum { }; int debug; +int nproc = 1; int killgroup = -1; int port = 6881; char *deftrack = "http://exodus.desync.com/announce"; @@ -1197,6 +1198,12 @@ main(int argc, char *argv[]) usage(); } ARGEND; + if((s = getenv("NPROC")) != 0){ + if((nproc = atoi(s)) <= 0) + nproc = 1; + free(s); + } + fd = 0; if(*argv) if((fd = open(*argv, OREAD)) < 0) @@ -1301,8 +1308,18 @@ main(int argc, char *argv[]) if(len) sysfatal("pieces do not match file length"); - for(i = 0; i= 0) + ; srand(time(0)); atnotify(catch, 1); -- cgit v1.2.3