Bro's internal time is based on packet timestamps, i.e. its notion
of time is the same regardless whether you're reading a live stream
or a trace. In both cases Bro performs the same kind of analysis,
and therefore, in general, needs the same amount of CPU and memory.
There's one important point, though, that you lose with trace: the
real-time behaviour. Most importantly, spikes in the processing time
don't do any harm in an offline analysis but may lead to significant
packet drops in real-time (and, naturally, when Bro drops packets,
it sees a different input stream, and then its analysis may differ,
too).