Re: [Quickfix-users] excessive latency of sendToTarget
Brought to you by:
orenmnero
From: Joachim W. <joa...@ia...> - 2011-02-18 16:06:40
|
Am 18.02.2011 16:42, schrieb Kenny Stone: > We typically see latencies around 100us for a new order single message > without any repeating groups. How are you measuring latency? For this testing, plain simple, using Intel's ThreadBuildingBlocks, like: tbb::tick_count ticks = tbb::tick_count::now(); FIX::Session::sendToTarget(newOrderSingle); std::cerr << (tbb::tick_count::now() - ticks).seconds() << std::endl; This timing mechanism (w/o printing, of course) works very well in other places reporting with nanosecond-resolution, and I don't suspect this being a problem here. The newOrderSingle is plain simple as well: FIX42::NewOrderSingle newOrderSingle( FIX::ClOrdID( fixInfo->ClOrdID ), FIX::HandlInst( '1' ), FIX::Symbol( fixInfo->Symbol ), FIX::Side( fixInfo->Side ), FIX::TransactTime(), FIX::OrdType( fixInfo->OrdType ) ); newOrderSingle.set( FIX::OrderQty( fixInfo->OrderQty)); newOrderSingle.set( FIX::TimeInForce( fixInfo->TimeInForce)); newOrderSingle.set( FIX::Price( fixInfo->Price)); newOrderSingle.getHeader().setField(FIX::SenderCompID( fixInfo->SenderCompID)); newOrderSingle.getHeader().setField(FIX::TargetCompID( fixInfo->TargetCompID)); Thus, how could we collect orders of magnitude for the latency? Joachim |