August 9, 2009, 12:48 pm
I’ve actually written code lately, although for some reason it’s been all these stupid projects. First I needed to fix the kernel tty refcounting, then I got all OCD on the git SHA1 routines.
I don’t quite know why I wasted that much time on something as trivial as SHA1 hashing, but it was kind of fun in a “let’s use the compiler as a glorified assembler” kind of way. Some people seem to think that C is a real programming language, but they are sadly mistaken. It really is about writing almost-portable assembly language, and it turns out that getting good results from SHA1 really is mostly about trying to fight the compilers tendency to try to be clever.
So here is the current result of me trying to get gcc (well, arguably of it is mostly the C pre-processor, rather than the compiler proper ) to generate good assembly code. On my Nehalem machine (but not Netburst or Atom – poor fragile micro-architectures that they are), it actually seems to outperform the OpenSSL hand-written assembly language implementation.
And once I get rid of libcrypt from openssl, I get rid of two silly runtime loadable libraries that git no longer needs. And that in turn speeds up the test-suite by a couple of seconds.
Did I mention that I seem to have some OCD issues?
Latest posts by The Linux Foundation (see all)
- Linux Foundation, LF Networking, and LF Edge Announce Keynote Speakers for Open Networking & Edge Summit North America 2020 - February 21, 2020
- LF Networking Expands Ecosystem — Adds Members, Leads Initiatives to Automate 5G deployments and accelerate Automation - February 20, 2020
- New Linux Foundation | Harvard Study Reveals Hard Truths, Actionable Steps for Open Source Security - February 20, 2020