Caleb Zulawski

Multiversion

View on crates.io

View on GitHub

CPUs provide a bunch of special instructions for improving performance of code. Unfortunately, not all CPUs (even those of the same family) have the same instructions, and using the wrong instructions can cause your program to crash. “Function multiversioning” is the technique of compiling the same function for different CPUs, and choosing the best one when you run the program. My multiversion project provides this capability for Rust programs.