次の2つの実装はどのようにしてPythonでパフォーマンスが異なりますか?python - 2つの実装のパフォーマンスの差
from cStringIO import StringIO
from itertools import imap
from sys import stdin
input = imap(int, StringIO(stdin.read()))
print '\n'.join(imap(str, sorted(input)))
AND
import sys
for line in sys.stdin:
l.append(int(line.strip('\n')))
l.sort()
for x in l:
print x
最初の実装は、10^6行の順序を入力するための第二よりも高速です。なぜそうなのか?
2番目の実装は機能しません(sys.stdinは呼び出し可能ではありません)。最初のものと同じことをしません(2番目のものは改行を取り除きます。 –
これらの2つの実装は大きく異なります。 – Falmarri
@Rosh:imapの文字列をintに変換すると、最初の実装で '\ n'が取り除かれます – Akhil