diff options
author | Shawn Pearce <spearce@spearce.org> | 2017-02-24 14:57:20 -0800 |
---|---|---|
committer | Shawn Pearce <spearce@spearce.org> | 2017-02-26 11:16:19 -0800 |
commit | 982f5d1bf184a2edab726f3c77f09a1157059e35 (patch) | |
tree | b60997fed73407d4a99d413aab5d28b2063f1b2f /org.eclipse.jgit/META-INF | |
parent | 9af93f43ccd4047dd74ec4a54a0f15a22296e465 (diff) | |
download | jgit-982f5d1bf184a2edab726f3c77f09a1157059e35.tar.gz jgit-982f5d1bf184a2edab726f3c77f09a1157059e35.zip |
Pure Java SHA-1
This implementation is derived straight from the description written
in RFC 3174. On Mac OS X with Java 1.8.0_91 it offers similar
throughput as MessageDigest SHA-1:
system 239.75 MiB/s
system 244.71 MiB/s
system 245.00 MiB/s
system 244.92 MiB/s
sha1 234.08 MiB/s
sha1 244.50 MiB/s
sha1 242.99 MiB/s
sha1 241.73 MiB/s
This is the fastest implementation I could come up with. Common SHA-1
implementation tricks such as unrolling loops creates a method too
large for the JIT to effectively optimize, resulting in lower overall
hashing throughput. Using a preprocessor to perform the register
renaming of A-E also didn't help, as again the method was too large
for the JIT to effectively optimize.
Fortunately the fastest version is a naive, straight-forward
implementation very close to the description in RFC 3174.
Change-Id: I228b05c4a294ca2ad51386cf0e47978c68e1aa42
Diffstat (limited to 'org.eclipse.jgit/META-INF')
-rw-r--r-- | org.eclipse.jgit/META-INF/MANIFEST.MF | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/org.eclipse.jgit/META-INF/MANIFEST.MF b/org.eclipse.jgit/META-INF/MANIFEST.MF index 8b78628209..33c331b4aa 100644 --- a/org.eclipse.jgit/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit/META-INF/MANIFEST.MF @@ -138,6 +138,7 @@ Export-Package: org.eclipse.jgit.annotations;version="4.7.0", org.eclipse.jgit.storage.file, org.ietf.jgss", org.eclipse.jgit.util.io;version="4.7.0", + org.eclipse.jgit.util.sha1;version="4.7.0", org.eclipse.jgit.util.time;version="4.7.0" Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Import-Package: com.googlecode.javaewah;version="[1.1.6,2.0.0)", |