@@ -381,84 +381,6 @@ static BenchmarkResult RunBLite()
381381 throw new NotSupportedException (
382382 "BLite 2.0.2 BsonDocumentBuilder has no public setter API — benchmark cannot run. " +
383383 "See docs/benchmarks/SHARPCOREDB_COMPARATIVE_BENCHMARKS.md for details." ) ;
384-
385- #pragma warning disable CS0162 // Unreachable code detected
386- var dbFile = Path . Combine ( Path . GetTempPath ( ) , $ "bench-blite-{ Guid . NewGuid ( ) } .db") ;
387- var result = new BenchmarkResult ( ) ;
388-
389- try
390- {
391- using var engine = new BLite . Core . BLiteEngine ( dbFile ) ;
392- var col = engine . GetOrCreateCollection ( "docs" , BsonIdType . ObjectId ) ;
393-
394- // INSERT — placeholder for when BLite exposes a working builder API
395- var sw = Stopwatch . StartNew ( ) ;
396- var insertedIds = new List < BsonId > ( InsertCount ) ;
397- string [ ] fields = [ "name" , "email" , "age" , "score" , "data" ] ;
398- for ( int i = 0 ; i < InsertCount ; i ++ )
399- {
400- var localI = i ;
401- var doc = col . CreateDocument ( fields , _ =>
402- {
403- // BLite 2.0.2: No working setter on BsonDocumentBuilder.
404- // b.Write / b.Set / b.Add / b["key"] — none exist.
405- } ) ;
406- var id = col . Insert ( doc ) ;
407- insertedIds . Add ( id ) ;
408- }
409- sw . Stop ( ) ;
410- result . InsertTime = sw . Elapsed . TotalSeconds ;
411- result . InsertOpsPerSec = ( int ) ( InsertCount / result . InsertTime ) ;
412- Console . WriteLine ( $ " INSERT { InsertCount : N0} : { result . InsertTime : F2} s ({ result . InsertOpsPerSec : N0} ops/sec)") ;
413-
414- // READ (FindById — B-Tree primary key lookup)
415- sw . Restart ( ) ;
416- int readCount = Math . Min ( ReadCount , insertedIds . Count ) ;
417- for ( int i = 0 ; i < readCount ; i ++ )
418- {
419- col . FindById ( insertedIds [ i ] ) ;
420- }
421- sw . Stop ( ) ;
422- result . ReadTime = sw . Elapsed . TotalSeconds ;
423- result . ReadOpsPerSec = ( int ) ( readCount / result . ReadTime ) ;
424- Console . WriteLine ( $ " READ { readCount : N0} : { result . ReadTime : F2} s ({ result . ReadOpsPerSec : N0} ops/sec)") ;
425-
426- // UPDATE
427- sw . Restart ( ) ;
428- int updateCount = Math . Min ( UpdateCount , insertedIds . Count ) ;
429- for ( int i = 0 ; i < updateCount ; i ++ )
430- {
431- var localI = i ;
432- var updatedDoc = col . CreateDocument ( fields , _ =>
433- {
434- // BLite 2.0.2: No working setter on BsonDocumentBuilder.
435- } ) ;
436- col . Update ( insertedIds [ i ] , updatedDoc ) ;
437- }
438- sw . Stop ( ) ;
439- result . UpdateTime = sw . Elapsed . TotalSeconds ;
440- result . UpdateOpsPerSec = ( int ) ( updateCount / result . UpdateTime ) ;
441- Console . WriteLine ( $ " UPDATE { updateCount : N0} : { result . UpdateTime : F2} s ({ result . UpdateOpsPerSec : N0} ops/sec)") ;
442-
443- // DELETE
444- sw . Restart ( ) ;
445- int deleteCount = Math . Min ( DeleteCount , insertedIds . Count ) ;
446- for ( int i = 0 ; i < deleteCount ; i ++ )
447- {
448- col . Delete ( insertedIds [ i ] ) ;
449- }
450- sw . Stop ( ) ;
451- result . DeleteTime = sw . Elapsed . TotalSeconds ;
452- result . DeleteOpsPerSec = ( int ) ( deleteCount / result . DeleteTime ) ;
453- Console . WriteLine ( $ " DELETE { deleteCount : N0} : { result . DeleteTime : F2} s ({ result . DeleteOpsPerSec : N0} ops/sec)") ;
454- }
455- finally
456- {
457- try { if ( File . Exists ( dbFile ) ) File . Delete ( dbFile ) ; } catch { /* temp */ }
458- }
459-
460- return result ;
461- #pragma warning restore CS0162
462384 }
463385
464386 // ══════════════════════════════════════
0 commit comments