Commit 76b27da
committed
Merge rust-bitcoin#777: feat: remove inefficient if check on match lex
aa722c2 feat: remove inefficient if check on match lex (ChrisCho-H)
Pull request description:
I'm not sure whether it's intentional, but this pattern(match and then if) could make lexer little slower for `OP_CSV` and `OP_CLTV`(and `Error::InvalidOpcode`) as they aren't caught in match arms but `if` block like below(which causes additional check).
```rust
...
script::Instruction::Op(op) => {
if op == opcodes::all::OP_CSV {
ret.push(Token::CheckSequenceVerify);
} else if op == opcodes::all::OP_CLTV {
ret.push(Token::CheckLockTimeVerify);
} else {
return Err(Error::InvalidOpcode(op))
}
}
```
ACKs for top commit:
apoelstra:
ACK aa722c2; successfully ran local tests; nice!
sanket1729:
ACK aa722c2
Tree-SHA512: d538e9f064cdb55fc2e8cbb8e56532a0ebe0563e9b1227c9a9a84140e5f23c22663ea2a976a8ac19e69bbbb7eb8b517b54d04ea7759747f2dc8370f5f45f02551 file changed
+2
-2
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
138 | 138 | | |
139 | 139 | | |
140 | 140 | | |
141 | | - | |
| 141 | + | |
142 | 142 | | |
143 | 143 | | |
144 | | - | |
| 144 | + | |
145 | 145 | | |
146 | 146 | | |
147 | 147 | | |
| |||
0 commit comments