I have a question regarding the performance of pattern matching. Is it more performant to use join nodes, or to use a from?

For example. With joins I could write a rule like

rule "Foo Join"
    when
        Foo($bar : bar != null)
        Bar(this == $bar)
    then
        ...       
end

rule "Foo From"
    when
        $foo :Foo()
        Bar () from $foo.bar
    then
        ...
end

thanks