Porównaj JSON i BSON

Porównuję JSON i BSON do serializacji obiektów. Obiekty te zawierają kilka tablic o dużej liczbie liczb całkowitych. W moim teście obiekt, który serializuję, zawiera całkowitą liczbę około 12 000 liczb całkowitych. Interesuje mnie tylko to, w jaki sposób rozmiary porównują wyniki serializowane. Używam JSON.NET jako biblioteki, która wykonuje serializację. Używam JSON, ponieważ chcę też pracować z nim w Javascript.

Rozmiar łańcucha JSON wynosi około 43 kb, a wynik BSON to 161 kb. Tak więc współczynnik różnicy wynosi około 4. Nie tego oczekiwałem, ponieważ spojrzałem na BSON, ponieważ uważałem, że BSON jest bardziej wydajny w przechowywaniu danych.

Moje pytanie brzmi: dlaczego BSON nie jest wydajny, czy można go usprawnić? Czy istnieje inny sposób serializowania danych za pomocą tablic zawierających dużą liczbę całkowitych, które można łatwo obsługiwać w Javascript?

Poniżej znajdziesz kod do testowania serializacji JSON / BSON.

        // Read file which contain json string
        string _jsonString = ReadFile();
        object _object = Newtonsoft.Json.JsonConvert.DeserializeObject(_jsonString);
        FileStream _fs = File.OpenWrite("BsonFileName");
        using (Newtonsoft.Json.Bson.BsonWriter _bsonWriter = new BsonWriter(_fs) 
               { CloseOutput = false })
        {
            Newtonsoft.Json.JsonSerializer _jsonSerializer = new JsonSerializer();
            _jsonSerializer.Serialize(_bsonWriter, _object);
            _bsonWriter.Flush();
        }

Edytować:

Oto pliki wynikowehttps://skydrive.live.com/redir?resid=9A6F31F60861DD2C!362&authkey=!AKU-ZZp8C_0gcR0

questionAnswers(1)

yourAnswerToTheQuestion