Log in

No account? Create an account
Adventures in Engineering
The wanderings of a modern ronin.

Ben Cantrick
  Date: 2008-03-03 00:10
  Subject:   DRILLCAT KILLS UR OFFSPRING IN 5... 4... 3...
  Mood:relevant to my interests
  Music:Suicide Scherzo - A Clockwork Orange OST
  Tags:  humor, reddit

Also: BEARS!Collapse )
1 Comment | Post A Comment | | Link

Ben Cantrick
  Date: 2008-03-03 12:03
  Subject:   GCC 4.2 + LLVM 2.2 = 35% faster than GCC 4.2 alone.
  Mood:der uber-nerd
  Tags:  reddit

Where these performance differences come from? In Himeno bench, The inner-most loop in jacobi() consumes 99.7% of whole computation time. I disassembled executables of this part, and found LLVM 2.2 emits very efficient x86 assembly. It is composed of move, add/sub and mul instructions. These 3 instructions can be executed in parallel on Core2 CPU. (Core2 has independent load/store unit, additive fp ALU and multiply fp ALU)


Back in the 70's everyone argued that compilers would never produce faster code than hand-tweaked assembly. These days, you have to be awfully damn good at assembly to create faster code than an optimizing compiler can. So gee, I wonder what's going to happen in the future with virtual machines - which "everyone knows" will never be as fast as compiled code. (Especially when everyone has a multi-core CPU. Cuz we all know great human beings are at thinking in parallel, don't we?)

(Another advantage of VMs - they can optimize code for cache coherency. Which can get you between one and two orders of magnitude increase in performance, if done exactly right.)

NB: Someone suggested that the tests be run again, this time passing "-march=Core2" to gcc. It might create more optimized code and beat LLVM in that case.
6 Comments | Post A Comment | | Link

Ben Cantrick
  Date: 2008-03-03 23:10
  Subject:   The Forest In Winter
  Music:Pixies - Debaser


Or, the adventures of Little Red Riding Pig. You want to know more, you'll have to watch it...

(Thanks(?) to j_b.)
4 Comments | Post A Comment | | Link

Ben Cantrick
  Date: 2008-03-03 23:29
  Subject:   Murmur Hash: very fast and collision resistant.
  Tags:  reddit

This version passes Jenkin's frog.c torture-test up to 2^25 keypairs (beats Hsieh's 2^17; previous Murmur failed after 2^9), distribution is still excellent (only 3 collisions on the SCOWL english-words.95 list vs. Hsieh's 41), and still runs faster than Hsieh and Jenkins at 1300 mb/sec vs. their ~900 mb/sec.


Very interesting. I'll be curious to see if further testing turns up any weaknesses.
Post A Comment | | Link

May 2015