print int(time.time())
name = "scrapy.extensions.memusage"
__import__(name)
print int(time.time())
执行本段代码耗时30秒,请教可能是什么原因呢?
感谢大神的回答,原因确实是依赖导致的。
我的具体原因是:
hostname, aliases, ipaddrs = gethostbyaddr(name)
这个方法导致的, 跟获取服务器名有关,
解决办法是zai /etc/hosts中加入本机名 解决!
伊谢尔伦2017-04-17 17:56:40
上記のコードをテストしましたが、import scrapy.extensions.memusage
どちらも約 4 秒かかります
scrapy.extensions.memusage に依存関係が多すぎるため、速度が遅くなっているはずです
__import__ とは何の関係もないはずです
そして公式はこのインポートモジュールの使用を推奨していません...
を使用します。単にモジュール (パッケージ内の可能性がある) を名前でインポートしたい場合は、
importlib.import_module()
.
巴扎黑2017-04-17 17:56:40
最初の 2 人が LZ の質問に答えているはずですが、何か追加したいことがあります
リーリーこれらの 2 行は 完全に 同等です。本当に scrapy.extensions.memusage
を紹介したい場合は、次のように
しかし、ソリッド ステート ドライブのテストは両方とも約 2 秒でした。
黄舟2017-04-17 17:56:40
scrapy.extensions.memusage はデフォルトで多くの依存関係をインポートしますが、これは当然遅くなります。このモジュールをインポートする前後の sys.module の数を確認してください。