anchor.diff:      NewName := AHashInstance.Name;
     end;
   
  -  Result := Format('%s Throughput: %.2f MB/s with Blocks of %d KB',
  -    [Copy(NewName, 2, System.Length(NewName) - 1), MaxRate, ASize div 1024]);
  +  if ASize >= 1024 * 1024 * 1024 then
  +  begin
  +    BlockSizeAndUnit := Format('%d GB', [(ASize div (1024 * 1024 * 1024))]);
  +  end
  +  else if ASize >= 1024 * 1024 then
  +  begin
  +    BlockSizeAndUnit := Format('%d MB', [(ASize div (1024 * 1024))]);
  +  end
  +  else
  +  begin
  +    BlockSizeAndUnit := Format('%d KB', [(ASize div 1024)]);
  +  end;
  +
  +  Result := Format('%s Throughput: %.2f MB/s with Blocks of %s',
  +    [Copy(NewName, 2, System.Length(NewName) - 1), MaxRate, BlockSizeAndUnit]);
   end;
   
   class procedure TPerformanceBenchmark.DoBenchmark(var AStringList: TStringList);
  
positive.code: 
      MaxRate := Math.Max(Total / (TotalMilliSeconds div 1000) / 1024 /
        1024, MaxRate);
    end;
  
    if ANamePrefix <> '' then
  
negative.code:   Idx: Int32;
    Total: Int64;
    A, B, TotalMilliSeconds: UInt32;
    NewName, BlockSizeAndUnit: String;
  begin
  
    System.SetLength(Data, ASize);
  