INNER CODE UNIT · Rust
fragmented_free_length
gfx-rs/gfx · src/auxil/range-alloc/src/lib.rs:48
let mut fragmented_free_length = length - length;
for (index, range) in self.free_ranges.iter().cloned().enumerate() {
let range_length = range.end - range.start;
fragmented_free_length += range_length;
if range_length < length {
continue;
} else if range_length == length {
// Found a perfect fit, so stop looking.
best_fit = Some((index, range));
break;
}
best_fit = Some(match best_fit {
Some((best_index, best_range)) => {
// Find best fit for this allocation to reduce memory fragmentation.
if range_length < best_range.end - best_range.start {
(index, range)
} else {
(best_index, best_range.clone())