Skip to content

Commit 6b6cd47

Browse files
Use log_enabled! in debug_step
to_escaped_string is a fairly expensive function because it allocates twice and iterates over the chars to escape them. This only escapes the token when debug messages enabled.
1 parent 7ec6509 commit 6b6cd47

File tree

1 file changed

+4
-2
lines changed
  • html5ever/src/tree_builder

1 file changed

+4
-2
lines changed

html5ever/src/tree_builder/mod.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ use tokenizer::states::{RawData, RawKind};
3737
use tree_builder::types::*;
3838
use tree_builder::tag_sets::*;
3939
use util::str::to_escaped_string;
40+
use log::Level;
4041

4142
pub use self::PushFlag::*;
4243

@@ -293,8 +294,9 @@ impl<Handle, Sink> TreeBuilder<Handle, Sink>
293294
}
294295

295296
fn debug_step(&self, mode: InsertionMode, token: &Token) {
296-
use util::str::to_escaped_string;
297-
debug!("processing {} in insertion mode {:?}", to_escaped_string(token), mode);
297+
if log_enabled!(Level::Debug) {
298+
debug!("processing {} in insertion mode {:?}", to_escaped_string(token), mode);
299+
}
298300
}
299301

300302
fn process_to_completion(&mut self, mut token: Token) -> TokenSinkResult<Handle> {

0 commit comments

Comments
 (0)