git-annex/Utility
Joey Hess c565340adc
stop using external hash programs, since cryptonite is faster
In 2013, I wrote "Cryptohash benchmarks 90 to 101% faster than external
hashers". Re-benchmarking today, I found cryptonite's sha256 consistently
outperformed coreutils by 10% for large files. Tested 10 mb, 100 mb, 1 gb
files with both sha256 and sha512. And for smaller files, the external
process startup time swamps the hash time.

Perhaps cryptonite has improved. Or it could just do better on my
current CPU Intel(R) Pentium(R) CPU 4410Y @ 1.50GHz). Anyway, even if cryptonite
is slower in some situations, seems likely it would only be marginally slower;
it's got the same class of highly optimised C code under the hood as coreutils.
The main difference between the two sha256 implementations seems to be
how much of the inner loop they unroll..

This commit was sponsored by Henrik Riomar on Patreon.
2018-08-28 18:10:58 -04:00
..
Directory add streamDirectoryContents 2018-04-26 13:38:36 -04:00
DirWatcher Support building with hinotify-0.3.10. 2018-05-08 14:43:06 -04:00
Env fix windows build 2018-01-04 14:23:11 -04:00
LockFile remove temp file in failure case 2017-06-06 14:23:33 -04:00
LockPool Fix transfer log file locking problem when running concurrent transfers. 2017-05-25 17:40:23 -04:00
Path finally really add back custom-setup stanza 2017-12-31 16:36:39 -04:00
Process fixed processTranscript hang problem 2018-03-15 16:14:22 -04:00
Scheduled
Tmp finally really add back custom-setup stanza 2017-12-31 16:36:39 -04:00
Touch
Aeson.hs Fix mangling of --json output of utf-8 characters when not running in a utf-8 locale 2018-04-16 16:21:21 -04:00
Android.hs avoid unused imports warning on non-linux 2018-08-07 15:06:33 -04:00
Applicative.hs
AuthToken.hs
Base64.hs
Batch.hs
Bloom.hs
CoProcess.hs Always use filesystem encoding for all file and handle reads and writes. 2016-12-24 14:46:31 -04:00
CopyFile.hs fold Build/SysConfig.hs into BuildInfo via include 2017-12-14 12:46:57 -04:00
Daemon.hs terminateProcessId renamed 2017-10-25 19:46:28 -04:00
Data.hs
DataUnits.hs adeiu, MissingH 2017-05-16 01:03:52 -04:00
DBus.hs
Directory.hs finally really add back custom-setup stanza 2017-12-31 16:36:39 -04:00
DirWatcher.hs disable closingTracked on OSX 2017-06-09 14:18:58 -04:00
DiskFree.hs
Dot.hs
DottedVersion.hs Some optimisations to string splitting code. 2017-01-31 19:06:22 -04:00
Env.hs finally really add back custom-setup stanza 2017-12-31 16:36:39 -04:00
Exception.hs
FileMode.hs don't import all of System.Posix.Files 2018-07-10 12:04:49 -04:00
FileSize.hs
FileSystemEncoding.hs Support building with hinotify-0.3.10. 2018-05-08 14:43:06 -04:00
Format.hs fix failing quickcheck properties 2017-06-17 16:48:00 -04:00
FreeDesktop.hs
Glob.hs adeiu, MissingH 2017-05-16 01:03:52 -04:00
Gpg.hs windows build fix 2018-01-05 15:09:10 -04:00
Hash.hs fix build with cryptonite-0.20 2018-03-15 11:16:00 -04:00
HtmlDetect.hs fix regression in addurl --file caused by youtube-dl support 2017-12-06 13:22:31 -04:00
HttpManagerRestricted.hs improve error message 2018-06-19 14:21:41 -04:00
HumanNumber.hs
HumanTime.hs
InodeCache.hs Fix build with QuickCheck 2.10. 2017-06-17 13:04:48 -04:00
IPAddress.hs fix license date 2018-06-22 10:25:53 -04:00
libkqueue.c
libkqueue.h
LinuxMkLibs.hs adeiu, MissingH 2017-05-16 01:03:52 -04:00
LockFile.hs
LockPool.hs
LogFile.hs finally really add back custom-setup stanza 2017-12-31 16:36:39 -04:00
Lsof.hs finally really add back custom-setup stanza 2017-12-31 16:36:39 -04:00
MagicWormhole.hs fix p2p --pair 2018-07-04 15:14:03 -04:00
Matcher.hs
Metered.hs refactor sinkResponseFile and add downloadC 2018-04-06 16:07:08 -04:00
Misc.hs finally really add back custom-setup stanza 2017-12-31 16:36:39 -04:00
Monad.hs
Mounts.hs deal with getMounts crashing on android 2018-04-25 17:42:27 -04:00
Network.hs
NotificationBroadcaster.hs
OptParse.hs
OSX.hs
Parallel.hs
PartialPrelude.hs correct spelling mistakes 2017-02-12 17:30:23 -04:00
Path.hs finally really add back custom-setup stanza 2017-12-31 16:36:39 -04:00
Percentage.hs
PID.hs Revert "Revert "remove dep on Win32-extras"" 2017-11-13 12:55:23 -04:00
Process.hs p2p ssh connection pools 2018-03-08 15:11:31 -04:00
QuickCheck.hs Fix build with QuickCheck 2.10. 2017-06-17 13:04:48 -04:00
Rsync.hs finally really add back custom-setup stanza 2017-12-31 16:36:39 -04:00
SafeCommand.hs support conditionally excluding queued files 2018-08-16 14:38:37 -04:00
Scheduled.hs adeiu, MissingH 2017-05-16 01:03:52 -04:00
Shell.hs clean up build warnings on Windows 2017-11-14 14:14:10 -04:00
SimpleProtocol.hs
Split.hs adeiu, MissingH 2017-05-16 01:03:52 -04:00
SRV.hs Fix build with dns-3.0. 2017-11-24 10:49:31 -04:00
SshConfig.hs
SshHost.hs avoid the dashed ssh hostname class of security holes 2017-08-17 22:11:31 -04:00
Su.hs finally really add back custom-setup stanza 2017-12-31 16:36:39 -04:00
SystemDirectory.hs Fix build with directory-1.3. 2016-12-20 15:23:59 -04:00
Tense.hs
ThreadLock.hs
ThreadScheduler.hs
TList.hs
Tmp.hs finally really add back custom-setup stanza 2017-12-31 16:36:39 -04:00
Tor.hs Support all common locations of the torrc file. 2016-12-28 15:12:31 -04:00
Touch.hs
Tuple.hs adeiu, MissingH 2017-05-16 01:03:52 -04:00
Url.hs Fix reversion in display of http 404 errors. 2018-07-31 12:15:26 -04:00
UserInfo.hs catch exceptions from getEffectiveUserID 2018-04-24 20:10:10 -04:00
Verifiable.hs
WebApp.hs clean up build warnings on Windows 2017-11-14 14:14:10 -04:00
Yesod.hs Fix build with yesod 1.6. 2018-04-22 13:56:35 -04:00