11use criterion:: { BenchmarkId , Criterion , criterion_group} ;
22use pricelevel:: {
3- OrderId , OrderType , OrderUpdate , PegReferenceType , PriceLevel , Side , TimeInForce , UuidGenerator ,
3+ Hash32 , OrderId , OrderType , OrderUpdate , PegReferenceType , PriceLevel , Side , TimeInForce ,
4+ UuidGenerator ,
45} ;
56use std:: sync:: { Arc , Barrier } ;
67use std:: thread;
@@ -349,39 +350,42 @@ fn measure_concurrent_mixed_operations(thread_count: usize, iterations: u64) ->
349350// Helper functions to create different types of orders for benchmarking
350351
351352/// Create a standard limit order for testing
352- fn create_standard_order ( id : u64 , price : u64 , quantity : u64 ) -> OrderType < ( ) > {
353+ fn create_standard_order ( id : u64 , price : u128 , quantity : u64 ) -> OrderType < ( ) > {
353354 OrderType :: Standard {
354355 id : OrderId :: from_u64 ( id) ,
355356 price,
356357 quantity,
357358 side : Side :: Buy ,
359+ user_id : Hash32 :: zero ( ) ,
358360 timestamp : 1616823000000 ,
359361 time_in_force : TimeInForce :: Gtc ,
360362 extra_fields : ( ) ,
361363 }
362364}
363365
364366/// Create an iceberg order for testing
365- fn create_iceberg_order ( id : u64 , price : u64 , visible : u64 , hidden : u64 ) -> OrderType < ( ) > {
367+ fn create_iceberg_order ( id : u64 , price : u128 , visible : u64 , hidden : u64 ) -> OrderType < ( ) > {
366368 OrderType :: IcebergOrder {
367369 id : OrderId :: from_u64 ( id) ,
368370 price,
369371 visible_quantity : visible,
370372 hidden_quantity : hidden,
371373 side : Side :: Buy ,
374+ user_id : Hash32 :: zero ( ) ,
372375 timestamp : 1616823000000 ,
373376 time_in_force : TimeInForce :: Gtc ,
374377 extra_fields : ( ) ,
375378 }
376379}
377380
378381/// Create a post-only order for testing
379- fn create_post_only_order ( id : u64 , price : u64 , quantity : u64 ) -> OrderType < ( ) > {
382+ fn create_post_only_order ( id : u64 , price : u128 , quantity : u64 ) -> OrderType < ( ) > {
380383 OrderType :: PostOnly {
381384 id : OrderId :: from_u64 ( id) ,
382385 price,
383386 quantity,
384387 side : Side :: Buy ,
388+ user_id : Hash32 :: zero ( ) ,
385389 timestamp : 1616823000000 ,
386390 time_in_force : TimeInForce :: Gtc ,
387391 extra_fields : ( ) ,
@@ -391,7 +395,7 @@ fn create_post_only_order(id: u64, price: u64, quantity: u64) -> OrderType<()> {
391395/// Create a reserve order for testing
392396fn create_reserve_order (
393397 id : u64 ,
394- price : u64 ,
398+ price : u128 ,
395399 visible : u64 ,
396400 hidden : u64 ,
397401 threshold : u64 ,
@@ -404,6 +408,7 @@ fn create_reserve_order(
404408 visible_quantity : visible,
405409 hidden_quantity : hidden,
406410 side : Side :: Buy ,
411+ user_id : Hash32 :: zero ( ) ,
407412 timestamp : 1616823000000 ,
408413 time_in_force : TimeInForce :: Gtc ,
409414 replenish_threshold : threshold,
@@ -414,12 +419,13 @@ fn create_reserve_order(
414419}
415420
416421/// Create a pegged order for testing
417- fn create_pegged_order ( id : u64 , price : u64 , quantity : u64 ) -> OrderType < ( ) > {
422+ fn create_pegged_order ( id : u64 , price : u128 , quantity : u64 ) -> OrderType < ( ) > {
418423 OrderType :: PeggedOrder {
419424 id : OrderId :: from_u64 ( id) ,
420425 price,
421426 quantity,
422427 side : Side :: Buy ,
428+ user_id : Hash32 :: zero ( ) ,
423429 timestamp : 1616823000000 ,
424430 time_in_force : TimeInForce :: Gtc ,
425431 reference_price_offset : -50 ,
@@ -435,9 +441,10 @@ fn setup_standard_orders(order_count: u64) -> PriceLevel {
435441 for i in 0 ..order_count {
436442 let order = OrderType :: Standard {
437443 id : OrderId :: from_u64 ( i) ,
438- price : 10000 ,
444+ price : 10000u128 ,
439445 quantity : 10 ,
440446 side : Side :: Buy ,
447+ user_id : Hash32 :: zero ( ) ,
441448 timestamp : 1616823000000 + i,
442449 time_in_force : TimeInForce :: Gtc ,
443450 extra_fields : ( ) ,
0 commit comments