Why not loop through a few hundred thousand of each, capturing the CPU() before and after, and let us know? (Besides, in the end, you're the judge of "significant"; to me, if it could possibly be used in a big loop in a batch job, any difference is significant.)
However, just eyeballing it, given the fact that the both will have to do the expensive operations of casting data types, plus Evaluate() has to parse an expression, I'd be surprised if Evaluate() was faster.
If you don't want to reinvent the wheel, PFC has a function that does a version of this: (pfcdwsrv.pbl)pfc_n_cst_dwsrv.of_getitem (). If you don't have a copy of it handy, you can grab a copy from its current site.
Good luck,
Terry