From f3d0297da50782a5398e23deb1871a3d15fd44ca Mon Sep 17 00:00:00 2001 From: Bert Peters Date: Wed, 5 Dec 2018 22:37:22 +0100 Subject: [PATCH] Bithack optimizations, why not. It saves a branch and a (possibly inlined) function call, but it also halves the runtime. --- 2018/src/day05.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/2018/src/day05.rs b/2018/src/day05.rs index a573ee1..a5e506f 100644 --- a/2018/src/day05.rs +++ b/2018/src/day05.rs @@ -13,7 +13,7 @@ impl Day05 { fn reduce(mut data: Vec) -> usize { let mut dptr = 0; for iptr in 0..data.len() { - if dptr > 0 && (data[iptr].eq_ignore_ascii_case(&data[dptr - 1])) && data[iptr] != data[dptr - 1] { + if dptr > 0 && (data[iptr] ^ data[dptr - 1]) == 32 { dptr -= 1; } else { data[dptr] = data[iptr];