私はtwitter-asyncライブラリを使用してtwitterへのoauth呼び出しを行っていますが、最終的には多くのメモリが消費されています。xdebug実行トレースを実行してみましたが、ここでメモリがリークしているように感じます。
json_decode()
47077232バイトを使用しています。わかった。これで結構です。
しかしgettype()
?なぜこれも同じ量のメモリを使用する必要があるのですか?
どうすればこれを防ぐことができますか?
スクリプトはループで実行され、メモリ使用量は増え続けます。多くの場所で使用gc_collect_cycles()
しており、改善が見られます。しかし、これは、なぜこれが起こるのか理解できません。
724.1772 47077232 +2118720 -> json_decode() /var/www/html/includes/classes/twitter/EpiTwitter.php:230
724.1926 49157104 +2079872 -> gettype() /var/www/html/includes/classes/twitter/EpiTwitter.php:232
724.1927 49157104 +0 -> property_exists() /var/www/html/includes/classes/twitter/EpiTwitter.php:240
724.1927 49153520 -3584 -> EpiTwitterJson->__destruct() /var/www/html/includes/classes/twitter/EpiTwitter.php:0
724.1949 46714808 -2438712 -> in_array() /var/www/html/cron.php:156