Здравствуйте, hardcase, Вы писали:
H>Нужно отключить отключить генерирование отладочных символов в релизе <DebugSymbols>false</DebugSymbols>
Помогло, сделал нютона почти в полтора раза
Приятно. Хотя ньютон чуть сложнее за счет парсинга своего формата даты. Может это его так тормозит?
Peg: 3021355688
newton: 4288512896
На таком вот тесте
test = <#{
a : 1,
b : "2",
c : true,
d : [null, '2', true,],
"e" : { "a" : 1, b : '2', c : 3.14},
f : null,
}
#>;
[Test]
public NewtonJsonBechmark() : void
{
def parser = Parser();
def count = 100000;
_ = parser.Parse(test);
_ = JObject.Parse(test);
def sw = Stopwatch();
sw.Start();
for (mutable i = 0; i < count; i++)
_ = parser.Parse(test);
sw.Stop();
Console.WriteLine("Peg:\t{0}", sw.ElapsedTicks);
def sw = Stopwatch();
sw.Start();
for (mutable i = 0; i < count; i++)
_ = JObject.Parse(test);
sw.Stop();
Console.WriteLine("newton:\t{0}", sw.ElapsedTicks);
}
}
Попробую еще версию ньютона посвежее, он в блоге писал об оптимизации, посмотрим.