예제 #1
0
        public void MeteorJsonPerformanceTest()
        {
            var cs = "";

            for (int i = 0; i < LoopCount; i++)
            {
                foreach (var elements in TweetSamples.GetStreamSampleElements())
                {
                    var parsed = MeteorJson.Parse(elements);
                    if (parsed.ContainsKey("text") && parsed.ContainsKey("user") && parsed["user"].ContainsKey("screen_name"))
                    {
                        cs = "@" + parsed["user"]["screen_name"].AsString() + ": " + parsed["text"].AsString();
                    }
                }
            }
            // Trace.WriteLine(cs);
        }
예제 #2
0
 public void MeteorJsonDecodeTest()
 {
     try
     {
         foreach (var elements in TweetSamples.GetStreamSampleElements())
         {
             // Trace.WriteLine(MeteorJson.Parse(elements).ToString());
             Debug.WriteLine("{0}", MeteorJson.Parse(elements).ToString());
             Debug.WriteLine("{0}", SafeMeteorJson.Parse(elements).ToString());
         }
     }
     catch (JsonParseException ex)
     {
         Debug.WriteLine(ex.ToString());
         throw;
     }
 }
예제 #3
0
        public void MeteorJsonStreamPerformanceTest()
        {
            var cs = "";

            for (int i = 0; i < LoopCount; i++)
            {
                foreach (var elements in TweetSamples.GetStreamSampleElements())
                {
                    var memstream = new MemoryStream(Encoding.UTF8.GetBytes(elements));
                    var reader    = new JsonStreamParser(memstream);
                    var parsed    = reader.Parse();
                    if (parsed.ContainsKey("text") && parsed.ContainsKey("user") && parsed["user"].ContainsKey("screen_name"))
                    {
                        cs = "@" + parsed["user"]["screen_name"].AsString() + ": " + parsed["text"].AsString();
                    }
                }
            }
            // Trace.WriteLine(cs);
        }
        public void UserStreamParserPerformanceTest()
        {
            var workingset = Environment.WorkingSet;
            var parser     = new JsonStringParser();

            // pre-work
            for (var i = 0; i < 100; i++)
            {
                foreach (var elem in TweetSamples.GetStreamSampleElements())
                {
                    parser.Parse(elem);
                }
            }

            var source   = new CancellationTokenSource();
            var handler  = new PseudoStreamHandler();
            var received = 0;

            source.CancelAfter(TimeSpan.FromSeconds(10));
            foreach (var content in TweetSamples.GetStreamSamples())
            {
                if (source.IsCancellationRequested)
                {
                    break;
                }
                received++;
                UserStreamParser.ParseStreamLine(parser, content, handler);
            }
            var wsa = Environment.WorkingSet;

            TestContext.WriteLine("received: {0}", received);
            TestContext.WriteLine("handler: statuses: {0} / events: {1}", handler.ReceivedStatuses,
                                  handler.ReceivedEvents);
            TestContext.WriteLine("cache: {0} / {1}", parser.CacheCount(), parser.ALQCount());
            TestContext.WriteLine("workingset delta: {0}", wsa - workingset);
        }