Python 在结束程序之前,在最终打印语句之后延迟。堆芯倾倒在c当量中

Python 在结束程序之前,在最终打印语句之后延迟。堆芯倾倒在c当量中,python,c,Python,C,在运行此代码时,在程序结束之前,在最后的print语句之后有大量的延迟(~7-8秒) li = [] for i in range(100000000): # A very huge number li.append(i) print("Done.") Pypy工作得更快,表现出了预期的行为。 为什么会发生这种情况?我无法复制您的结果 这是在GoogleColab CPU实例上运行的 打印语句和程序需要00.000093秒才能结束 from datetime i

在运行此代码时,在程序结束之前,在最后的print语句之后有大量的延迟(~7-8秒)

li = []

for i in range(100000000): # A very huge number
    li.append(i)

print("Done.")
Pypy工作得更快,表现出了预期的行为。
为什么会发生这种情况?

我无法复制您的结果

这是在GoogleColab CPU实例上运行的

打印语句和程序需要
00.000093
秒才能结束

from datetime import datetime as dt
from tqdm import tqdm
start = dt.now()
li = []

for i in tqdm(range(100000000)): # A very huge number
    li.append(i)
print('\n')
print('Time to run:',dt.now()-start)
start = dt.now()
print("Done.")
print('Time after run:',dt.now()-start)

100%|██████████| 100000000/100000000[00:33堆栈溢出?通常为1MB,而预期为400MB。请只问一个问题。另外,“合理时间”是多少?你想问什么?Python或C还是什么?程序在Python中用了20秒才完成执行。在最后的print语句之后延迟了大约7-8秒。编辑了这个问题。我在一个终端上,结果几乎和你的一样。延迟是在打印执行之后,即在我能做任何事情之前我的电脑在那个时候几乎冻结了。
100%|██████████| 100000000/100000000 [00:33<00:00, 3010464.83it/s]

Time to run: 0:00:34.386686
Done.
Time after run: 0:00:00.000093