Я использую Parse как мост между веб-сайтом (PHP) и iOS (Какао). Когда я пытаюсь создать нового пользователя через PHP SDK, обычно это занимает более 1 с (в основном 2 с) и то же самое с созданием обычного PFObject (0,5 — 1,5 с).
Мой код для создания пользователя:
Debugger::timer('ps_new_user'); //start timer
$user = new ParseUser();
$user->set("username", $login);
$user->set("password", $pass);
$user->set("email", $email);
$user->set("phone", $tel);
try {
$user->signUp(); //save to PARSE.com
$elapsed_ps_new_user = Debugger::timer('ps_new_user'); // stop timer if succeeded
} catch (ParseException $ex) {
// log all exceptions in case of error
Debugger::log ("Error: " . $ex->getCode() . " " . $ex->getMessage());
Debugger::dump($user);
$elapsed_ps_new_user = Debugger::timer('ps_new_user'); //stop timer if error
}
Выше код занимает обычно 1,5 секунды и более, в случае, если все идет хорошо.
И когда я сохраняю / создаю новый объект для Parse.com с этим кодом:
Debugger::timer('ps_new_obj'); //start timer
$newParseObject = ParseObject::create("Orders");
$newParseObject->set("oid", strval($oid));
$newParseObject->set("uid", strval($uid));
$newParseObject->set("date", $datum);
$newParseObject->set("name", $jmeno);
$newParseObject->set("street", $ulice);
$newParseObject->set("city", $mesto);
$newParseObject->set("zip", $psc);
$newParseObject->set("tel", $tel);
$newParseObject->set("email", $email);
$newParseObject->set("price", strval($cena));
$newParseObject->set("note", $pozn);
$newParseObject->set("text", $text);
$newParseObject->set("printed", strval($vytisknuto));
try {
$newParseObject->save(); //save to Parse.com
$elapsed_ps_new_obj = Debugger::timer('ps_new_obj'); //stop timer
} catch (ParseException $ex) {
// log all exceptions
Debugger::log ("Error: " . $ex->getCode() . " " . $ex->getMessage());
Debugger::dump($newParseObject);
$elapsed_ps_new_obj = Debugger::timer('ps_new_obj'); // stop timer
}
Код выше занимает более 0,5 сек. Что лучше, чем в случае создания нового пользователя, но может быть и лучше. Как ускорить весь процесс?
Задача ещё не решена.
Других решений пока нет …