Each page load rule would be evaluated on every page load. If the conditions for the rule were met, the rule would fire. If you are using a data element, the data element would be evaluated every time it is called. After the data element is evaluated, the rule would fire if all conditions were met for the given rule.
I'm not aware of any noticeable delay in using either method. You could test this in your own environment with the developer tools in your browser.