rust-simplicity is not meant to be as fast as C-simplicity, but it seems strange that a simple program like this takes so long.
use simplicity::jet::Core;
use simplicity::node::{CoreConstructible};
use simplicity::{Value, WitnessNode};
let mut word = Value::u8(0x00);
for _ in 0..20 {
word = Value::prod(word.clone(), word.clone());
}
// FIXME: Finalizing this program takes a long time
let program = Arc::<WitnessNode<Core>>::comp(
&Arc::<WitnessNode<Core>>::const_word(word),
&Arc::<WitnessNode<Core>>::unit(),
)
.unwrap()
.finalize()
.unwrap();
The following program takes minutes to finalize on my machine. It is taken from the Simplicity test vectors, also found in the asset generator.
rust-simplicity is not meant to be as fast as C-simplicity, but it seems strange that a simple program like this takes so long.