use a hashset instead of vec for dead ids

This commit is contained in:
Scott Richmond 2025-06-29 18:14:06 -04:00
parent f6cbe3f800
commit 5478e5e40e

View File

@ -3,7 +3,7 @@ use crate::value::Value;
use crate::vm::{Creature, Panic};
use ran::ran_u8;
use std::cell::RefCell;
use std::collections::HashMap;
use std::collections::{HashMap, HashSet};
use std::mem::swap;
use std::rc::Rc;
use std::time::{Duration, Instant};
@ -67,7 +67,7 @@ pub struct Zoo {
procs: Vec<Status>,
empty: Vec<usize>,
ids: HashMap<&'static str, usize>,
dead: Vec<&'static str>,
dead: HashSet<&'static str>,
kill_list: Vec<&'static str>,
sleeping: HashMap<&'static str, (Instant, Duration)>,
active_idx: usize,
@ -81,7 +81,7 @@ impl Zoo {
empty: vec![],
ids: HashMap::new(),
kill_list: vec![],
dead: vec![],
dead: HashSet::new(),
sleeping: HashMap::new(),
active_idx: 0,
active_id: "",
@ -155,7 +155,7 @@ impl Zoo {
self.procs[*idx] = Status::Empty;
self.empty.push(*idx);
self.ids.remove(id);
self.dead.push(id);
self.dead.insert(id);
}
}