- Регистрация
- 04.04.2015
- Сообщения
- 3 835
- Благодарностей
- 3 552
- Баллы
- 113
Имеется JSON на 25000 уровней (или строк, или как правильно выразиться ).
Ранее на старой версии ZP работал через JS, используя код:
Замерил скорость скорость - 0.8 секунды.
Обновился до последней версии ZP. Подключил Newtonsoft.Json.dll, в общем коде прописал классы.
Уж на C# должно быть быстрее, подумал я, ну или хотя бы так же.
Обработка заняла 16 секунд. 16, Карл!
Как такое может быть?
Может я что-то неправильно делаю? Помогите разобраться.
Ранее на старой версии ZP работал через JS, используя код:
JavaScript:
var obj = {-Variable.JSON-};
var out = '';
for (var i = 0; i < obj.response.length; i++){
out += obj.response[i].uid+";"+obj.response[i].sex+";"+obj.response[i].bdate+";"+obj.response[i].country+";"+obj.response[i].city+";"+obj.response[i].relation+";"+obj.response[i].deactivated+"\r\n"
}
Обновился до последней версии ZP. Подключил Newtonsoft.Json.dll, в общем коде прописал классы.
Уж на C# должно быть быстрее, подумал я, ну или хотя бы так же.
Код:
string json = project.Variables["JSON"].Value;
var startime = DateTime.Now;
var result = String.Empty;
RootObject obj = JsonConvert.DeserializeObject<RootObject>(json);
for (int i = 0; i < obj.response.Count; i++)
{
string str = String.Format("{0};{1};{2};{3};{4};{5};{6}", obj.response[i].uid, obj.response[i].sex, obj.response[i].bdate, obj.response[i].country, obj.response[i].city, obj.response[i].relation, obj.response[i].deactivated);
result = result+str+"\r\n";
}
project.Variables["runtime"].Value = DateTime.Now.Subtract(startime).ToString();
return result;
Как такое может быть?
Может я что-то неправильно делаю? Помогите разобраться.
Последнее редактирование модератором: