2009/8/14 Pádraig Brady <P@xxxxxxxxxxxxxx>: > I've noticed before that coreutils hashing utils > were a little behind in performance, but was prompted > to look at it again when I noticed the recently > updated sha1 implementation in git: > http://git.kernel.org/?p=git/git.git;a=history;f=block-sha1;h=d3121f7;hb=pu > > Testing that with the attached program which I wrote > in a couple of mins to try and match sha1sum's system calls > shows that it's around 33% faster, as shown below: > > $ gcc $(rpm -q --qf="%{OPTFLAGS}\n" coreutils) linus-sha1.c sha1.c -o linus-sha1 > > $ time ./linus-sha1 300MB_file > df1e19e245fee4f53087b50ef953ca2c8d1644d7 300MB_file > real 0m2.742s > user 0m2.516s > sys 0m0.206s > > $ time ~/git/coreutils/src/sha1sum 300MB_file > df1e19e245fee4f53087b50ef953ca2c8d1644d7 300MB_file > > real 0m4.166s > user 0m3.846s > sys 0m0.298s > > So, could we use that code in coreutils? > Think of all the dead fish it would save. coreutils is licensed under GPLv3, and git under GPLv2 (only), so you'd need permission from all contributors to the implementation in order to relicense under GPLv3. A quick grep of the history suggests these contributors to be: Brandon Casey <drafnel@xxxxxxxxx> Junio C Hamano <gitster@xxxxxxxxx> Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Nicolas Pitre <nico@xxxxxxx> (adding these people to the CC list) Additionally, it was originally based on the code in mozilla-sha1/sha1.c, but that contains a license grant allowing it to be used under GPLv2 /or later/, so if GPLv3 relicensing is enough it shouldn't be necessary to get in contact with the original author. However if the FSF requires copyright assignment to accept the new implementation, it will be necessary to track down contributors to the original mozilla-sha1/sha1.c as well. Note that I'm not a lawyer, so there might be other roadblocks etc to this as well, etc :) -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html