我有以下方法,如果我评论它,在模拟器或常规iPhone上构建时没有延迟。 如果我使用这种方法,它会在运行之前延迟很长时间。
这是代码
define('SCOPES', implode(' ', array( Google_Service_Directory::ADMIN_DIRECTORY_USER ) ));
putenv('GOOGLE_APPLICATION_CREDENTIALS=' . $path_to_json_creds_file );
$client = new Google_Client();
$client->useApplicationDefaultCredentials(); // loads whats in that json service account file.
$client->setScopes(SCOPES); // adds the scopes
$client->setSubject($domainUserWithAdminRoles); // An org account with special roles defined.
$dir = new Google_Service_Directory($client);
// get the account.
$results = $dir->users->get($userKey);
print_r($results);
我读到这是由于代码效率低下引起的......有人能发现我的错误吗?
答案 0 :(得分:1)
我的建议是将这个方法分成几个,然后查看每个方法的编译时间,发现错误的地方
为此启用编译器的debug-time-function-bodies
选项。在Xcode的项目中,转到Build Settings并将Other Swift Flags设置为 -Xfrontend -debug-time-function-bodies 。
然后使用⌘-8切换到构建报告导航器,您将在其中看到最新版本(可能还有其他版本)。
接下来,右键单击您构建的目标的构建日志,然后选择Expand All Transcripts以显示详细的构建日志。
最后,您应该看到一系列绿色框,每个框表示编译过程中的文件或步骤。这些框内的文本可能需要一些时间(或点击)才能正确加载。如果您正确设置构建标志以显示函数编译时间,您应该在左侧看到一行构建时间。
取自here