Slightly more efficient vec initialization (#120)
This will, at least on x86_64, compile down to simpler, shorter assembly that uses a zeroed allocation instead of a regular allocation, a memset and various `raw_vec` methods.
This commit is contained in:
@@ -18,8 +18,7 @@ pub fn calculate<'a, SuccFn: Fn(Block) -> &'a [Block]>(
|
|||||||
let mut ret = vec![];
|
let mut ret = vec![];
|
||||||
|
|
||||||
// State: visited-block map, and explicit DFS stack.
|
// State: visited-block map, and explicit DFS stack.
|
||||||
let mut visited = vec![];
|
let mut visited = vec![false; num_blocks];
|
||||||
visited.resize(num_blocks, false);
|
|
||||||
|
|
||||||
struct State<'a> {
|
struct State<'a> {
|
||||||
block: Block,
|
block: Block,
|
||||||
|
|||||||
Reference in New Issue
Block a user