Below you will find pages that utilize the taxonomy term “Machine Language”
January 11, 2024
Machine Language: Count Faster on 6502
I’ve done a lot of silly math, ciphers and asked a lot of my vintage hardware on this site over the years. But I’ve not talked a ton about optimizing code for faster results.
Today, we will count from 0 to 2^24-1
(16,777,215). Nothing else. Count, time it, and see how fast we can get it to go.
Rust
In Rust on my 2020 MacBook Pro:
use std::time::{Instant};
fn main() {
// Start timing
let start = Instant::now();
// Loop from 0 to 16777215
for _i in 0..=16777215 {
// The loop body is empty, just like in the BASIC code
}
// Calculate elapsed time
let duration = start.elapsed();
// Convert elapsed time to seconds
let elapsed_seconds = duration.as_secs() as f64
+ (duration.subsec_nanos() as f64 / 1_000_000_000.0);
println!("Counting to 16777215 took {} seconds", elapsed_seconds);
println!("That's {} additions per second", 16777216.0 / elapsed_seconds);
println!("On 2 GHz Quad-Core Intel Core i5")
}