Hi @fin1,
You can get a timestamp from fills for sure. They have a timestamp field, so you can do this kind of thing to get the millis:
//somewhere in your websocket message catching code.
//remember that props events look like this:
// { entityType: string, eventType: string, entity: Object }
const myFill = msg.entity
const { timestamp } = myFill
const millis = new Date(timestamp).getTime()
As far as performance goes:
no difference between market data feeds, simulation and live use the exact same data.
order routing is different between simulation and live, as simulation doesn’t use the real market, but an engine that attempts to match the real market. If you compare the two it will likely be different all the time, as each environment looks to a different source to make its calls.
We make every effort to make the simulation environment match live trading as precisely as possible. So for the purpose of writing applications, you can assume that live will work about the same as the simulation does.