anchor.diff:              sw.Restart()
               let indices = [1..innerlen] |> List.map (fun i -> (int64 (r.Next(0, 2160*1080)) ))
               let indices = indices.OrderBy(fun x -> x)
  -            result <- Array.map (queryBin indices) sbgPaths
  +            result <- Array.map (query indices) sbgPaths
   
               sw.Stop()
               arr.[i] <- sw.ElapsedMilliseconds
  
positive.code:         let values = List.map (readValue reader) (List.ofSeq indices)
          values
  
  module MemoryMappedRead =
      open System.IO.MemoryMappedFiles
  
      let readValue (reader:MemoryMappedViewAccessor) offset cellIndex =
  
negative.code:         let fileName = @"D:\temp\testSimpleReadWrite.sbg" // *.sbg simple binary grid
          let initial = [None;Some(Int32.MinValue+1);Some(Int32.MaxValue);None;Some(0);Some(1);Some(-1);None;Some(2);Some(213);None]
          let expected = Seq.concat ([[initial.[4];initial.[3];initial.[4];initial.[4];initial.[2]];initial])
          let actual = MemoryMappedSimpleRead.readValues fileName (Seq.concat [[4L;3L;4L;4L;2L];[0L..(initial.LongCount()-1L)]])
          let result = Seq.zip actual expected |> Seq.forall (fun (a, b) -> a = b)
          printfn "Memory mapped read test returned %b" result
  
      let runall() =
          simpleReadWriteTest()
          memoryMappedReadTest()
          SbgReader.testSmallMarspec()
          SbgReader.testAllMarspec10m()
  Test.runall()
          
  
  