88using FASTER . core ;
99
1010const int count = 2000 ;
11+ const int entrySize = 1024 ;
1112using var cts = new ConsoleLifetimeTokenSource ( ) ;
1213
1314Console . WriteLine ( "Starting DotNext WAL Performance Test..." ) ;
1819
1920static async Task DotNextWalPerformanceTest ( CancellationToken token )
2021{
21- var root = Path . Combine ( Path . GetTempPath ( ) , Path . GetRandomFileName ( ) ) ;
22-
23- // page size is 512 KB
24- var wal = new WriteAheadLog ( new ( ) { Location = root , ChunkMaxSize = 512 * 1024 } , new NoOpStateMachine ( ) ) ;
22+ var options = new WriteAheadLog . Options
23+ {
24+ Location = Path . Combine ( Path . GetTempPath ( ) , Path . GetRandomFileName ( ) ) ,
25+ ChunkSize = 512 * 1024 , // page size is 512 KB
26+ MemoryManagement = WriteAheadLog . MemoryManagementStrategy . PrivateMemory ,
27+ } ;
2528
29+ var wal = new WriteAheadLog ( options , new NoOpStateMachine ( ) ) ;
2630 try
2731 {
28- Memory < byte > buffer = new byte [ 1024 ] ;
32+ Memory < byte > buffer = new byte [ entrySize ] ;
2933 Random . Shared . NextBytes ( buffer . Span ) ;
30-
31- var index = 0L ;
34+
3235 var ts = new Timestamp ( ) ;
3336 for ( var i = 0 ; i < count ; i ++ )
3437 {
35- index = await wal . AppendAsync ( buffer , token : token ) . ConfigureAwait ( false ) ;
38+ var index = await wal . AppendAsync ( buffer , token : token ) . ConfigureAwait ( false ) ;
3639 await wal . CommitAsync ( index , token ) . ConfigureAwait ( false ) ;
3740 }
3841
39- await wal . WaitForApplyAsync ( index , token ) . ConfigureAwait ( false ) ;
40-
4142 Console . WriteLine ( $ "Finished. Elapsed time: { ts . Elapsed } ") ;
43+ await wal . FlushAsync ( token ) . ConfigureAwait ( false ) ;
4244 }
4345 finally
4446 {
@@ -51,8 +53,8 @@ static async Task FasterLogPerformanceTest(CancellationToken token)
5153 using var linkedToken = CancellationTokenSource . CreateLinkedTokenSource ( token ) ;
5254 var root = Path . Combine ( Path . GetTempPath ( ) , Path . GetRandomFileName ( ) ) ;
5355
54- // page size is 512 KB
55- using var fasterLog = new FasterLog ( new FasterLogSettings ( root ) { PageSize = 1L << 22 } ) ;
56+ // file size is 512 KB
57+ using var fasterLog = new FasterLog ( new FasterLogSettings ( root ) { SegmentSize = 1L << 22 } ) ;
5658 var committer = Task . Run ( async ( ) =>
5759 {
5860 while ( await fasterLog . WaitUncommittedAsync ( fasterLog . TailAddress , linkedToken . Token ) . ConfigureAwait ( false ) )
@@ -61,7 +63,7 @@ static async Task FasterLogPerformanceTest(CancellationToken token)
6163 }
6264 } , linkedToken . Token ) ;
6365
64- Memory < byte > buffer = new byte [ 1024 ] ;
66+ Memory < byte > buffer = new byte [ entrySize ] ;
6567 Random . Shared . NextBytes ( buffer . Span ) ;
6668
6769 var ts = new Timestamp ( ) ;
0 commit comments