Hướng dẫn how do you calculate execution time in python? - làm thế nào để bạn tính toán thời gian thực thi trong python?

Cách đơn giản nhất trong Python:

import time
start_time = time.time()
main()
print("--- %s seconds ---" % (time.time() - start_time))

Điều này giả định rằng chương trình của bạn mất ít nhất một phần mười giây để chạy.

Prints:

--- 0.764891862869 seconds ---

Hướng dẫn how do you calculate execution time in python? - làm thế nào để bạn tính toán thời gian thực thi trong python?

Đã trả lời ngày 13 tháng 10 năm 2009 lúc 0:00Oct 13, 2009 at 0:00

RogeriOpvlrogerioPVLrogeriopvl

49K8 Huy hiệu vàng53 Huy hiệu bạc58 Huy hiệu Đồng8 gold badges53 silver badges58 bronze badges

10

Trong Linux hoặc Unix:

$ time python yourprogram.py

Trong Windows, hãy xem câu hỏi StackoverFlow này: Làm cách nào để đo thời gian thực thi của lệnh trên dòng lệnh Windows?

Để có thêm đầu ra dài dòng,

$ time -v python yourprogram.py
    Command being timed: "python3 yourprogram.py"
    User time (seconds): 0.08
    System time (seconds): 0.02
    Percent of CPU this job got: 98%
    Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.10
    Average shared text size (kbytes): 0
    Average unshared data size (kbytes): 0
    Average stack size (kbytes): 0
    Average total size (kbytes): 0
    Maximum resident set size (kbytes): 9480
    Average resident set size (kbytes): 0
    Major (requiring I/O) page faults: 0
    Minor (reclaiming a frame) page faults: 1114
    Voluntary context switches: 0
    Involuntary context switches: 22
    Swaps: 0
    File system inputs: 0
    File system outputs: 0
    Socket messages sent: 0
    Socket messages received: 0
    Signals delivered: 0
    Page size (bytes): 4096
    Exit status: 0

Đã trả lời ngày 12 tháng 10 năm 2009 lúc 23:59Oct 12, 2009 at 23:59

Hướng dẫn how do you calculate execution time in python? - làm thế nào để bạn tính toán thời gian thực thi trong python?

SteveHastevehasteveha

72.5K20 Huy hiệu vàng90 Huy hiệu bạc116 Huy hiệu đồng20 gold badges90 silver badges116 bronze badges

4

Tôi đặt mô -đun

import atexit
from time import clock

def secondsToStr(t):
    return "%d:%02d:%02d.%03d" % \
        reduce(lambda ll,b : divmod(ll[0],b) + ll[1:],
            [(t*1000,),1000,60,60])

line = "="*40
def log(s, elapsed=None):
    print line
    print secondsToStr(clock()), '-', s
    if elapsed:
        print "Elapsed time:", elapsed
    print line
    print

def endlog():
    end = clock()
    elapsed = end-start
    log("End Program", secondsToStr(elapsed))

def now():
    return secondsToStr(clock())

start = clock()
atexit.register(endlog)
log("Start Program")
8 này vào thư mục
import atexit
from time import clock

def secondsToStr(t):
    return "%d:%02d:%02d.%03d" % \
        reduce(lambda ll,b : divmod(ll[0],b) + ll[1:],
            [(t*1000,),1000,60,60])

line = "="*40
def log(s, elapsed=None):
    print line
    print secondsToStr(clock()), '-', s
    if elapsed:
        print "Elapsed time:", elapsed
    print line
    print

def endlog():
    end = clock()
    elapsed = end-start
    log("End Program", secondsToStr(elapsed))

def now():
    return secondsToStr(clock())

start = clock()
atexit.register(endlog)
log("Start Program")
9 của riêng tôi và chỉ cần chèn
from datetime import datetime
start_time = datetime.now()
# do your work here
end_time = datetime.now()
print('Duration: {}'.format(end_time - start_time))
0 ở đầu mô -đun của tôi:

import atexit
from time import clock

def secondsToStr(t):
    return "%d:%02d:%02d.%03d" % \
        reduce(lambda ll,b : divmod(ll[0],b) + ll[1:],
            [(t*1000,),1000,60,60])

line = "="*40
def log(s, elapsed=None):
    print line
    print secondsToStr(clock()), '-', s
    if elapsed:
        print "Elapsed time:", elapsed
    print line
    print

def endlog():
    end = clock()
    elapsed = end-start
    log("End Program", secondsToStr(elapsed))

def now():
    return secondsToStr(clock())

start = clock()
atexit.register(endlog)
log("Start Program")

Tôi cũng có thể gọi

from datetime import datetime
start_time = datetime.now()
# do your work here
end_time = datetime.now()
print('Duration: {}'.format(end_time - start_time))
1 từ trong chương trình của mình nếu có các giai đoạn quan trọng trong chương trình tôi muốn hiển thị. Nhưng chỉ bao gồm
from datetime import datetime
start_time = datetime.now()
# do your work here
end_time = datetime.now()
print('Duration: {}'.format(end_time - start_time))
0 sẽ in thời gian bắt đầu và kết thúc, và thời gian trôi qua tổng thể. .

Lưu ý: Một phiên bản Python 3 của mã trên có thể được tìm thấy ở đây hoặc ở đây.

Đã trả lời ngày 13 tháng 10 năm 2009 lúc 2:08Oct 13, 2009 at 2:08

Hướng dẫn how do you calculate execution time in python? - làm thế nào để bạn tính toán thời gian thực thi trong python?

PaulmcgpaulmcgPaulMcG

60,6K15 Huy hiệu vàng88 Huy hiệu bạc127 Huy hiệu đồng15 gold badges88 silver badges127 bronze badges

7

Tôi thích đầu ra mà mô-đun

from datetime import datetime
start_time = datetime.now()
# do your work here
end_time = datetime.now()
print('Duration: {}'.format(end_time - start_time))
4 cung cấp, trong đó các đối tượng Delta thời gian hiển thị ngày, giờ, phút, v.v. khi cần thiết theo cách có thể đọc được của con người.

Ví dụ:

from datetime import datetime
start_time = datetime.now()
# do your work here
end_time = datetime.now()
print('Duration: {}'.format(end_time - start_time))

Đầu ra mẫu, ví dụ:

Duration: 0:00:08.309267

hoặc

Duration: 1 day, 1:51:24.269711

Như J.F. Sebastian đã đề cập, cách tiếp cận này có thể gặp phải một số trường hợp khó khăn với thời gian địa phương, vì vậy việc sử dụng an toàn hơn: sử dụng:

import time
from datetime import timedelta
start_time = time.monotonic()
end_time = time.monotonic()
print(timedelta(seconds=end_time - start_time))

Hướng dẫn how do you calculate execution time in python? - làm thế nào để bạn tính toán thời gian thực thi trong python?

Đã trả lời ngày 29 tháng 9 năm 2014 lúc 11:55Sep 29, 2014 at 11:55

metakermitmetakermitmetakermit

19.9K12 Huy hiệu vàng85 Huy hiệu bạc95 Huy hiệu Đồng12 gold badges85 silver badges95 bronze badges

3

import time

start_time = time.clock()
main()
print(time.clock() - start_time, "seconds")

from datetime import datetime
start_time = datetime.now()
# do your work here
end_time = datetime.now()
print('Duration: {}'.format(end_time - start_time))
5 trả về thời gian của bộ xử lý, cho phép chúng tôi chỉ tính toán thời gian được sử dụng bởi quy trình này (trên UNIX dù sao). Tài liệu cho biết "trong mọi trường hợp, đây là chức năng sử dụng để đánh giá Python hoặc thuật toán thời gian"

Shidouuu

3213 Huy hiệu bạc11 Huy hiệu đồng3 silver badges11 bronze badges

Đã trả lời ngày 13 tháng 10 năm 2009 lúc 1:25Oct 13, 2009 at 1:25

Newacctnewacctnewacct

117K29 Huy hiệu vàng160 Huy hiệu bạc223 Huy hiệu Đồng29 gold badges160 silver badges223 bronze badges

3

Tôi thực sự thích câu trả lời của Paul McGuire, nhưng tôi sử dụng Python 3. Vì vậy, đối với những người quan tâm: Đây là một sửa đổi câu trả lời của anh ấy hoạt động với Python 3 trên *Nix (tôi tưởng tượng, dưới Windows, nên sử dụng

from datetime import datetime
start_time = datetime.now()
# do your work here
end_time = datetime.now()
print('Duration: {}'.format(end_time - start_time))
6 thay vì
from datetime import datetime
start_time = datetime.now()
# do your work here
end_time = datetime.now()
print('Duration: {}'.format(end_time - start_time))
7) :

--- 0.764891862869 seconds ---
0

Nếu bạn thấy điều này hữu ích, bạn vẫn nên bỏ phiếu cho câu trả lời của anh ấy thay vì điều này, như anh ấy đã làm hầu hết các công việc;).

Georgy

10,9k7 Huy hiệu vàng62 Huy hiệu bạc68 Huy hiệu Đồng7 gold badges62 silver badges68 bronze badges

Đã trả lời ngày 10 tháng 9 năm 2012 lúc 2:03Sep 10, 2012 at 2:03

NicojonicojoNicojo

9937 Huy hiệu bạc8 Huy hiệu Đồng7 silver badges8 bronze badges

7

Bạn có thể sử dụng CPROFILE Python Profiler để đo thời gian CPU và ngoài ra còn bao nhiêu thời gian trong mỗi hàm và bao nhiêu lần mỗi hàm được gọi. Điều này rất hữu ích nếu bạn muốn cải thiện hiệu suất của tập lệnh mà không biết bắt đầu từ đâu. Câu trả lời này cho một Stack & NBSP; Câu hỏi tràn khá tốt. Luôn luôn tốt khi có một cái nhìn trong tài liệu.

Dưới đây là một ví dụ về cách cấu hình tập lệnh bằng CPROFILE từ dòng lệnh:

--- 0.764891862869 seconds ---
1

Hướng dẫn how do you calculate execution time in python? - làm thế nào để bạn tính toán thời gian thực thi trong python?

Đã trả lời ngày 2 tháng 1 năm 2014 lúc 0:35Jan 2, 2014 at 0:35

Hướng dẫn how do you calculate execution time in python? - làm thế nào để bạn tính toán thời gian thực thi trong python?

Jacwahjacwahjacwah

2.6072 Huy hiệu vàng20 Huy hiệu bạc42 Huy hiệu đồng2 gold badges20 silver badges42 bronze badges

2

Chỉ cần sử dụng mô -đun

from datetime import datetime
start_time = datetime.now()
# do your work here
end_time = datetime.now()
print('Duration: {}'.format(end_time - start_time))
8. Nó hoạt động với cả Python 2 và Python 3.

--- 0.764891862869 seconds ---
2

Nó trở lại trong vài giây và bạn có thể có thời gian thực hiện của mình. Nó rất đơn giản, nhưng bạn nên viết những thứ này trong chức năng chính bắt đầu thực thi chương trình. Nếu bạn muốn có thời gian thực thi ngay cả khi bạn gặp lỗi thì hãy lấy tham số của bạn "bắt đầu" và tính toán ở đó như:

--- 0.764891862869 seconds ---
3

Djamaile

6462 Huy hiệu vàng11 Huy hiệu bạc 30 Huy hiệu Đồng2 gold badges11 silver badges30 bronze badges

Đã trả lời ngày 18 tháng 9 năm 2017 lúc 19:08Sep 18, 2017 at 19:08

Hướng dẫn how do you calculate execution time in python? - làm thế nào để bạn tính toán thời gian thực thi trong python?

Ravi Kumarravi KumarRavi Kumar

6827 Huy hiệu bạc8 Huy hiệu Đồng7 silver badges8 bronze badges

1

time.clock()

Đã không dùng nữa vì phiên bản 3.3: Hành vi của chức năng này phụ thuộc vào nền tảng: sử dụng perf_count () hoặc process_time () thay vào đó, tùy thuộc vào yêu cầu của bạn, để có hành vi được xác định rõ.perf_counter() or process_time() instead, depending on your requirements, to have a well-defined behavior.

time.perf_counter()

Trả về giá trị (tính bằng giây phân đoạn) của bộ đếm hiệu suất, tức là đồng hồ có độ phân giải cao nhất để đo thời lượng ngắn. Nó bao gồm thời gian trôi qua trong khi ngủ và có toàn bộ hệ thống.does include time elapsed during sleep and is system-wide.

time.process_time()

Trả về giá trị (tính theo giây phân đoạn) của tổng của hệ thống và thời gian CPU của người dùng của quy trình hiện tại. Nó không bao gồm thời gian trôi qua trong khi ngủ.does not include time elapsed during sleep.

--- 0.764891862869 seconds ---
4

Đã trả lời ngày 18 tháng 5 năm 2016 lúc 3:49May 18, 2016 at 3:49

YasyasYas

4,4071 Huy hiệu vàng35 Huy hiệu bạc23 Huy hiệu đồng1 gold badge35 silver badges23 bronze badges

1

from datetime import datetime
start_time = datetime.now()
# do your work here
end_time = datetime.now()
print('Duration: {}'.format(end_time - start_time))
9 đã bị phản đối trong Python 3.3 và sẽ bị xóa khỏi Python 3.8: sử dụng
Duration: 0:00:08.309267
0 hoặc
Duration: 0:00:08.309267
1 thay thế

--- 0.764891862869 seconds ---
5

Hướng dẫn how do you calculate execution time in python? - làm thế nào để bạn tính toán thời gian thực thi trong python?

Suraj Rao

29.2k11 Huy hiệu vàng95 Huy hiệu bạc102 Huy hiệu đồng11 gold badges95 silver badges102 bronze badges

Đã trả lời ngày 20 tháng 6 năm 2021 lúc 9:11Jun 20, 2021 at 9:11

0

Đối với dữ liệu, mọi người sử dụng máy tính xách tay Jupyter

Trong một ô, bạn có thể sử dụng lệnh ma thuật

Duration: 0:00:08.309267
2 của Jupyter để đo thời gian thực hiện:

--- 0.764891862869 seconds ---
6

Đầu ra

--- 0.764891862869 seconds ---
7

Điều này sẽ chỉ nắm bắt thời gian thực hiện của một ô cụ thể. Nếu bạn muốn chụp thời gian thực hiện của toàn bộ máy tính xách tay (tức là chương trình), bạn có thể tạo một sổ ghi chép mới trong cùng một thư mục và trong sổ ghi chép mới thực thi tất cả các ô:

Giả sử sổ ghi chép ở trên được gọi là

Duration: 0:00:08.309267
3. Trong một cuốn sổ mới trong cùng một thư mục:

--- 0.764891862869 seconds ---
8

Đầu ra

--- 0.764891862869 seconds ---
9

Hướng dẫn how do you calculate execution time in python? - làm thế nào để bạn tính toán thời gian thực thi trong python?

Điều này sẽ chỉ nắm bắt thời gian thực hiện của một ô cụ thể. Nếu bạn muốn chụp thời gian thực hiện của toàn bộ máy tính xách tay (tức là chương trình), bạn có thể tạo một sổ ghi chép mới trong cùng một thư mục và trong sổ ghi chép mới thực thi tất cả các ô:Jul 28, 2018 at 16:48

Hướng dẫn how do you calculate execution time in python? - làm thế nào để bạn tính toán thời gian thực thi trong python?

Giả sử sổ ghi chép ở trên được gọi là

Duration: 0:00:08.309267
3. Trong một cuốn sổ mới trong cùng một thư mục:Matt

Đã trả lời ngày 28 tháng 7 năm 2018 lúc 16:481 gold badge41 silver badges38 bronze badges

Mattmatt

$ time python yourprogram.py
0

4,8151 Huy hiệu vàng41 Huy hiệu bạc38 Huy hiệu đồngJul 1, 2016 at 22:24

Các bản in đoạn sau đây đã trôi qua thời gian ở định dạng

Duration: 0:00:08.309267
4 có thể đọc được.Sandeep

Đã trả lời ngày 1 tháng 7 năm 2016 lúc 22:243 gold badges31 silver badges23 bronze badges

1

Sandeepsandeep

$ time python yourprogram.py
1

27.3k3 Huy hiệu vàng31 Huy hiệu bạc23 Huy hiệu đồng

$ time python yourprogram.py
2

Tương tự như phản hồi từ @RogerIOPVL, tôi đã thêm một sửa đổi nhỏ để chuyển đổi thành giây một phút bằng cách sử dụng cùng một thư viện cho các công việc chạy dài.Mar 12, 2020 at 5:27

Đầu ra mẫuuser 923227

Đã trả lời ngày 12 tháng 3 năm 2020 lúc 5:274 gold badges24 silver badges43 bronze badges

1

Người dùng 923227USER 923227

$ time python yourprogram.py
3

2.3304 Huy hiệu vàng24 Huy hiệu bạc43 Huy hiệu đồngOct 29, 2020 at 10:24

Hướng dẫn how do you calculate execution time in python? - làm thế nào để bạn tính toán thời gian thực thi trong python?

Đối với các chức năng, tôi đề nghị sử dụng bộ trang trí đơn giản này mà tôi đã tạo.Nikita Tonkoskur

Đã trả lời ngày 29 tháng 10 năm 2020 lúc 10:241 gold badge15 silver badges28 bronze badges

3

$ time python yourprogram.py
4

Hướng dẫn how do you calculate execution time in python? - làm thế nào để bạn tính toán thời gian thực thi trong python?

The6thSense

Nikita Tonkoskurnikita Tonkoskur6 gold badges30 silver badges63 bronze badges

1.4151 Huy hiệu vàng15 Huy hiệu bạc28 Huy hiệu đồngApr 6, 2016 at 7:45

7.7956 Huy hiệu vàng30 Huy hiệu bạc63 Huy hiệu ĐồngQina Yan

Đã trả lời ngày 6 tháng 4 năm 2016 lúc 7:459 silver badges5 bronze badges

Qina Yanqina Yan

$ time python yourprogram.py
5

1.1869 huy hiệu bạc5 huy hiệu đồng

Tôi đã xem mô -đun thời gian, nhưng có vẻ như nó chỉ dành cho các đoạn mã nhỏ. Tôi muốn thời gian toàn bộ chương trình.

Nó chạy chức năng

Duration: 0:00:08.309267
5 một lần và in thời gian trôi qua bằng hàm
Duration: 0:00:08.309267
6 làm bộ đếm thời gian.

$ time python yourprogram.py
6

Để mô phỏng

Duration: 0:00:08.309267
7 trong Python, hãy xem quy trình con Python với/usr/bin/thời gian: Làm thế nào để nắm bắt thông tin thời gian nhưng bỏ qua tất cả các đầu ra khác ?.

Để đo thời gian CPU (ví dụ: không bao gồm thời gian trong

Duration: 0:00:08.309267
8) cho mỗi hàm, bạn có thể sử dụng mô -đun
Duration: 0:00:08.309267
9 (
Duration: 1 day, 1:51:24.269711
0 trên Python 2):

Bạn có thể chuyển lệnh

Duration: 1 day, 1:51:24.269711
1 đến
from datetime import datetime
start_time = datetime.now()
# do your work here
end_time = datetime.now()
print('Duration: {}'.format(end_time - start_time))
8 ở trên nếu bạn muốn sử dụng cùng một bộ đếm thời gian như mô -đun
Duration: 0:00:08.309267
9 sử dụng.Mar 3, 2015 at 9:04

Xem làm thế nào bạn có thể lập cấu hình một tập lệnh Python?jfs

Đã trả lời ngày 3 tháng 3 năm 2015 lúc 9:04182 gold badges948 silver badges1619 bronze badges

JFSJFS

$ time python yourprogram.py
7

384K182 Huy hiệu vàng948 Huy hiệu bạc1619 Huy hiệu đồng

$ time python yourprogram.py
8

Tôi đã gặp vấn đề tương tự ở nhiều nơi, vì vậy tôi đã tạo ra một gói tiện lợi

Duration: 1 day, 1:51:24.269711
4. Bạn có thể cài đặt nó với
Duration: 1 day, 1:51:24.269711
5 và sau đó thực hiện theo cách thanh lịch:

$ time python yourprogram.py
9

384K182 Huy hiệu vàng948 Huy hiệu bạc1619 Huy hiệu đồng

$ time -v python yourprogram.py
    Command being timed: "python3 yourprogram.py"
    User time (seconds): 0.08
    System time (seconds): 0.02
    Percent of CPU this job got: 98%
    Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.10
    Average shared text size (kbytes): 0
    Average unshared data size (kbytes): 0
    Average stack size (kbytes): 0
    Average total size (kbytes): 0
    Maximum resident set size (kbytes): 9480
    Average resident set size (kbytes): 0
    Major (requiring I/O) page faults: 0
    Minor (reclaiming a frame) page faults: 1114
    Voluntary context switches: 0
    Involuntary context switches: 22
    Swaps: 0
    File system inputs: 0
    File system outputs: 0
    Socket messages sent: 0
    Socket messages received: 0
    Signals delivered: 0
    Page size (bytes): 4096
    Exit status: 0
0

Tôi đã gặp vấn đề tương tự ở nhiều nơi, vì vậy tôi đã tạo ra một gói tiện lợi

Duration: 1 day, 1:51:24.269711
4. Bạn có thể cài đặt nó với
Duration: 1 day, 1:51:24.269711
5 và sau đó thực hiện theo cách thanh lịch:

sẽ đầu ra:Dec 7, 2019 at 22:05

Hướng dẫn how do you calculate execution time in python? - làm thế nào để bạn tính toán thời gian thực thi trong python?

Hoặc thậm chí đơn giản hơn (nếu bạn có một chức năng):hans

Nó chăm sóc các đơn vị và làm tròn. Nó hoạt động với Python 3.6 hoặc mới hơn.10 silver badges28 bronze badges

4

Đã trả lời ngày 7 tháng 12 năm 2019 lúc 22:05

$ time -v python yourprogram.py
    Command being timed: "python3 yourprogram.py"
    User time (seconds): 0.08
    System time (seconds): 0.02
    Percent of CPU this job got: 98%
    Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.10
    Average shared text size (kbytes): 0
    Average unshared data size (kbytes): 0
    Average stack size (kbytes): 0
    Average total size (kbytes): 0
    Maximum resident set size (kbytes): 9480
    Average resident set size (kbytes): 0
    Major (requiring I/O) page faults: 0
    Minor (reclaiming a frame) page faults: 1114
    Voluntary context switches: 0
    Involuntary context switches: 22
    Swaps: 0
    File system inputs: 0
    File system outputs: 0
    Socket messages sent: 0
    Socket messages received: 0
    Signals delivered: 0
    Page size (bytes): 4096
    Exit status: 0
1

Hướng dẫn how do you calculate execution time in python? - làm thế nào để bạn tính toán thời gian thực thi trong python?

HanshansJan 29, 2015 at 15:42

89110 Huy hiệu bạc28 Huy hiệu đồngGall

Tôi cũng thích câu trả lời của Paul McGuire và đưa ra một hình thức quản lý bối cảnh phù hợp với nhu cầu của tôi nhiều hơn.1 gold badge14 silver badges21 bronze badges

Đã trả lời ngày 29 tháng 1 năm 2015 lúc 15:42

$ time -v python yourprogram.py
    Command being timed: "python3 yourprogram.py"
    User time (seconds): 0.08
    System time (seconds): 0.02
    Percent of CPU this job got: 98%
    Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.10
    Average shared text size (kbytes): 0
    Average unshared data size (kbytes): 0
    Average stack size (kbytes): 0
    Average total size (kbytes): 0
    Maximum resident set size (kbytes): 9480
    Average resident set size (kbytes): 0
    Major (requiring I/O) page faults: 0
    Minor (reclaiming a frame) page faults: 1114
    Voluntary context switches: 0
    Involuntary context switches: 22
    Swaps: 0
    File system inputs: 0
    File system outputs: 0
    Socket messages sent: 0
    Socket messages received: 0
    Signals delivered: 0
    Page size (bytes): 4096
    Exit status: 0
2

Hướng dẫn how do you calculate execution time in python? - làm thế nào để bạn tính toán thời gian thực thi trong python?

GallgallMay 20, 2015 at 14:40

Hướng dẫn how do you calculate execution time in python? - làm thế nào để bạn tính toán thời gian thực thi trong python?

B.KocisB.KocisB.Kocis

1.5451 Huy hiệu vàng14 Huy hiệu bạc21 Huy hiệu đồng20 silver badges18 bronze badges

1

Trong ipython, "thời gian" bất kỳ tập lệnh nào:

$ time -v python yourprogram.py
    Command being timed: "python3 yourprogram.py"
    User time (seconds): 0.08
    System time (seconds): 0.02
    Percent of CPU this job got: 98%
    Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.10
    Average shared text size (kbytes): 0
    Average unshared data size (kbytes): 0
    Average stack size (kbytes): 0
    Average total size (kbytes): 0
    Maximum resident set size (kbytes): 9480
    Average resident set size (kbytes): 0
    Major (requiring I/O) page faults: 0
    Minor (reclaiming a frame) page faults: 1114
    Voluntary context switches: 0
    Involuntary context switches: 22
    Swaps: 0
    File system inputs: 0
    File system outputs: 0
    Socket messages sent: 0
    Socket messages received: 0
    Signals delivered: 0
    Page size (bytes): 4096
    Exit status: 0
3

Đã trả lời ngày 20 tháng 5 năm 2015 lúc 14:40

$ time -v python yourprogram.py
    Command being timed: "python3 yourprogram.py"
    User time (seconds): 0.08
    System time (seconds): 0.02
    Percent of CPU this job got: 98%
    Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.10
    Average shared text size (kbytes): 0
    Average unshared data size (kbytes): 0
    Average stack size (kbytes): 0
    Average total size (kbytes): 0
    Maximum resident set size (kbytes): 9480
    Average resident set size (kbytes): 0
    Major (requiring I/O) page faults: 0
    Minor (reclaiming a frame) page faults: 1114
    Voluntary context switches: 0
    Involuntary context switches: 22
    Swaps: 0
    File system inputs: 0
    File system outputs: 0
    Socket messages sent: 0
    Socket messages received: 0
    Signals delivered: 0
    Page size (bytes): 4096
    Exit status: 0
4

1.82420 huy hiệu bạc18 Huy hiệu đồng

$ time -v python yourprogram.py
    Command being timed: "python3 yourprogram.py"
    User time (seconds): 0.08
    System time (seconds): 0.02
    Percent of CPU this job got: 98%
    Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.10
    Average shared text size (kbytes): 0
    Average unshared data size (kbytes): 0
    Average stack size (kbytes): 0
    Average total size (kbytes): 0
    Maximum resident set size (kbytes): 9480
    Average resident set size (kbytes): 0
    Major (requiring I/O) page faults: 0
    Minor (reclaiming a frame) page faults: 1114
    Voluntary context switches: 0
    Involuntary context switches: 22
    Swaps: 0
    File system inputs: 0
    File system outputs: 0
    Socket messages sent: 0
    Socket messages received: 0
    Signals delivered: 0
    Page size (bytes): 4096
    Exit status: 0
5

Hướng dẫn how do you calculate execution time in python? - làm thế nào để bạn tính toán thời gian thực thi trong python?

Tôi đã sử dụng một chức năng rất đơn giản để thời gian thực thi mã:Aug 7, 2018 at 5:42

Và để sử dụng nó, chỉ cần gọi nó trước mã để đo để truy xuất thời gian chức năng, sau đó gọi hàm theo mã với các bình luận. Thời gian sẽ xuất hiện trước các bình luận. Ví dụ:Tao Wang

Sau đó, đầu ra sẽ trông như thế này:8 silver badges5 bronze badges

0

Đã trả lời ngày 7 tháng 8 năm 2018 lúc 5:42

$ time -v python yourprogram.py
    Command being timed: "python3 yourprogram.py"
    User time (seconds): 0.08
    System time (seconds): 0.02
    Percent of CPU this job got: 98%
    Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.10
    Average shared text size (kbytes): 0
    Average unshared data size (kbytes): 0
    Average stack size (kbytes): 0
    Average total size (kbytes): 0
    Maximum resident set size (kbytes): 9480
    Average resident set size (kbytes): 0
    Major (requiring I/O) page faults: 0
    Minor (reclaiming a frame) page faults: 1114
    Voluntary context switches: 0
    Involuntary context switches: 22
    Swaps: 0
    File system inputs: 0
    File system outputs: 0
    Socket messages sent: 0
    Socket messages received: 0
    Signals delivered: 0
    Page size (bytes): 4096
    Exit status: 0
6

Tao Wangtao WangMay 8, 2020 at 4:44

6948 Huy hiệu bạc5 Huy hiệu ĐồngHafez Ahmad

Tôi đã thử và tìm thấy sự khác biệt về thời gian bằng cách sử dụng các tập lệnh sau.2 silver badges6 bronze badges

1

Đã trả lời ngày 8 tháng 5 năm 2020 lúc 4:44

Hafez Ahmadhafez Ahmad

$ time -v python yourprogram.py
    Command being timed: "python3 yourprogram.py"
    User time (seconds): 0.08
    System time (seconds): 0.02
    Percent of CPU this job got: 98%
    Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.10
    Average shared text size (kbytes): 0
    Average unshared data size (kbytes): 0
    Average stack size (kbytes): 0
    Average total size (kbytes): 0
    Maximum resident set size (kbytes): 9480
    Average resident set size (kbytes): 0
    Major (requiring I/O) page faults: 0
    Minor (reclaiming a frame) page faults: 1114
    Voluntary context switches: 0
    Involuntary context switches: 22
    Swaps: 0
    File system inputs: 0
    File system outputs: 0
    Socket messages sent: 0
    Socket messages received: 0
    Signals delivered: 0
    Page size (bytes): 4096
    Exit status: 0
7

1752 Huy hiệu bạc6 Huy hiệu đồng

$ time -v python yourprogram.py
    Command being timed: "python3 yourprogram.py"
    User time (seconds): 0.08
    System time (seconds): 0.02
    Percent of CPU this job got: 98%
    Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.10
    Average shared text size (kbytes): 0
    Average unshared data size (kbytes): 0
    Average stack size (kbytes): 0
    Average total size (kbytes): 0
    Maximum resident set size (kbytes): 9480
    Average resident set size (kbytes): 0
    Major (requiring I/O) page faults: 0
    Minor (reclaiming a frame) page faults: 1114
    Voluntary context switches: 0
    Involuntary context switches: 22
    Swaps: 0
    File system inputs: 0
    File system outputs: 0
    Socket messages sent: 0
    Socket messages received: 0
    Signals delivered: 0
    Page size (bytes): 4096
    Exit status: 0
8

Hướng dẫn how do you calculate execution time in python? - làm thế nào để bạn tính toán thời gian thực thi trong python?

Sử dụng line_profiler.Mar 28, 2018 at 5:43

Hướng dẫn how do you calculate execution time in python? - làm thế nào để bạn tính toán thời gian thực thi trong python?

line_profiler sẽ lập cấu hình các dòng mã thời gian riêng lẻ để thực thi. Bộ cấu hình được triển khai trong C thông qua Cython để giảm chi phí hồ sơ.Yu Jiaao

Kết quả sẽ là:5 gold badges40 silver badges57 bronze badges

1

Đã trả lời ngày 28 tháng 3 năm 2018 lúc 5:43

Yu Jiaaoyu Jiaao

4.2265 Huy hiệu vàng40 Huy hiệu bạc57 Huy hiệu Đồng

$ time -v python yourprogram.py
    Command being timed: "python3 yourprogram.py"
    User time (seconds): 0.08
    System time (seconds): 0.02
    Percent of CPU this job got: 98%
    Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.10
    Average shared text size (kbytes): 0
    Average unshared data size (kbytes): 0
    Average stack size (kbytes): 0
    Average total size (kbytes): 0
    Maximum resident set size (kbytes): 9480
    Average resident set size (kbytes): 0
    Major (requiring I/O) page faults: 0
    Minor (reclaiming a frame) page faults: 1114
    Voluntary context switches: 0
    Involuntary context switches: 22
    Swaps: 0
    File system inputs: 0
    File system outputs: 0
    Socket messages sent: 0
    Socket messages received: 0
    Signals delivered: 0
    Page size (bytes): 4096
    Exit status: 0
9

Hướng dẫn how do you calculate execution time in python? - làm thế nào để bạn tính toán thời gian thực thi trong python?

Thời gian là một lớp trong Python được sử dụng để tính thời gian thực hiện của các khối mã nhỏ.Nov 16, 2017 at 2:16

0

Default_Timer là một phương thức trong lớp này được sử dụng để đo thời gian đồng hồ treo tường, không phải thời gian thực hiện CPU. Do đó, việc thực thi quy trình khác có thể can thiệp vào điều này. Do đó, nó hữu ích cho các khối mã nhỏ.

Code:

import atexit
from time import clock

def secondsToStr(t):
    return "%d:%02d:%02d.%03d" % \
        reduce(lambda ll,b : divmod(ll[0],b) + ll[1:],
            [(t*1000,),1000,60,60])

line = "="*40
def log(s, elapsed=None):
    print line
    print secondsToStr(clock()), '-', s
    if elapsed:
        print "Elapsed time:", elapsed
    print line
    print

def endlog():
    end = clock()
    elapsed = end-start
    log("End Program", secondsToStr(elapsed))

def now():
    return secondsToStr(clock())

start = clock()
atexit.register(endlog)
log("Start Program")
0

Output:

Hướng dẫn how do you calculate execution time in python? - làm thế nào để bạn tính toán thời gian thực thi trong python?

Một mẫu của mã như sau:

Đã trả lời ngày 16 tháng 11 năm 2017 lúc 2:167 gold badges62 silver badges68 bronze badges

Đầu tiên, cài đặt gói thân thiện với người bằng cách mở dấu nhắc lệnh (CMD) làm quản trị viên và gõ ở đó -

Duration: 1 day, 1:51:24.269711
6Apr 16, 2020 at 10:40

Hướng dẫn how do you calculate execution time in python? - làm thế nào để bạn tính toán thời gian thực thi trong python?

GeorgyAmar Kumar

10,9k7 Huy hiệu vàng62 Huy hiệu bạc68 Huy hiệu Đồng2 gold badges19 silver badges32 bronze badges

Đã trả lời ngày 16 tháng 4 năm 2020 lúc 10:40

import atexit
from time import clock

def secondsToStr(t):
    return "%d:%02d:%02d.%03d" % \
        reduce(lambda ll,b : divmod(ll[0],b) + ll[1:],
            [(t*1000,),1000,60,60])

line = "="*40
def log(s, elapsed=None):
    print line
    print secondsToStr(clock()), '-', s
    if elapsed:
        print "Elapsed time:", elapsed
    print line
    print

def endlog():
    end = clock()
    elapsed = end-start
    log("End Program", secondsToStr(elapsed))

def now():
    return secondsToStr(clock())

start = clock()
atexit.register(endlog)
log("Start Program")
1

Amar Kumaramar Kumar

2.0712 Huy hiệu vàng19 Huy hiệu bạc32 Huy hiệu đồng8 gold badges34 silver badges47 bronze badges

Bạn làm điều này chỉ đơn giản là trong Python. Không cần phải làm cho nó phức tạp.Feb 16, 2019 at 5:18

Hướng dẫn how do you calculate execution time in python? - làm thế nào để bạn tính toán thời gian thực thi trong python?

1

Câu trả lời sau, nhưng tôi sử dụng

from datetime import datetime
start_time = datetime.now()
# do your work here
end_time = datetime.now()
print('Duration: {}'.format(end_time - start_time))
8 tích hợp:

import atexit
from time import clock

def secondsToStr(t):
    return "%d:%02d:%02d.%03d" % \
        reduce(lambda ll,b : divmod(ll[0],b) + ll[1:],
            [(t*1000,),1000,60,60])

line = "="*40
def log(s, elapsed=None):
    print line
    print secondsToStr(clock()), '-', s
    if elapsed:
        print "Elapsed time:", elapsed
    print line
    print

def endlog():
    end = clock()
    elapsed = end-start
    log("End Program", secondsToStr(elapsed))

def now():
    return secondsToStr(clock())

start = clock()
atexit.register(endlog)
log("Start Program")
2
  • Bao bọc tất cả mã của bạn, bao gồm bất kỳ nhập khẩu nào bạn có thể có, bên trong
    Duration: 1 day, 1:51:24.269711
    
    8.
  • Duration: 1 day, 1:51:24.269711
    
    9 Đối số chỉ định số lần mã nên lặp lại.
  • Thử nghiệm

Đã trả lời ngày 25 tháng 2 năm 2020 lúc 0:15Feb 25, 2020 at 0:15

Hướng dẫn how do you calculate execution time in python? - làm thế nào để bạn tính toán thời gian thực thi trong python?

Pedro lobitopedro lobitoPedro Lobito

89K30 Huy hiệu vàng239 Huy hiệu bạc257 Huy hiệu Đồng30 gold badges239 silver badges257 bronze badges

3

Theo câu trả lời này đã tạo ra một công cụ đơn giản nhưng thuận tiện.

import atexit
from time import clock

def secondsToStr(t):
    return "%d:%02d:%02d.%03d" % \
        reduce(lambda ll,b : divmod(ll[0],b) + ll[1:],
            [(t*1000,),1000,60,60])

line = "="*40
def log(s, elapsed=None):
    print line
    print secondsToStr(clock()), '-', s
    if elapsed:
        print "Elapsed time:", elapsed
    print line
    print

def endlog():
    end = clock()
    elapsed = end-start
    log("End Program", secondsToStr(elapsed))

def now():
    return secondsToStr(clock())

start = clock()
atexit.register(endlog)
log("Start Program")
3

Usage:

import atexit
from time import clock

def secondsToStr(t):
    return "%d:%02d:%02d.%03d" % \
        reduce(lambda ll,b : divmod(ll[0],b) + ll[1:],
            [(t*1000,),1000,60,60])

line = "="*40
def log(s, elapsed=None):
    print line
    print secondsToStr(clock()), '-', s
    if elapsed:
        print "Elapsed time:", elapsed
    print line
    print

def endlog():
    end = clock()
    elapsed = end-start
    log("End Program", secondsToStr(elapsed))

def now():
    return secondsToStr(clock())

start = clock()
atexit.register(endlog)
log("Start Program")
4

Đầu ra:

import atexit
from time import clock

def secondsToStr(t):
    return "%d:%02d:%02d.%03d" % \
        reduce(lambda ll,b : divmod(ll[0],b) + ll[1:],
            [(t*1000,),1000,60,60])

line = "="*40
def log(s, elapsed=None):
    print line
    print secondsToStr(clock()), '-', s
    if elapsed:
        print "Elapsed time:", elapsed
    print line
    print

def endlog():
    end = clock()
    elapsed = end-start
    log("End Program", secondsToStr(elapsed))

def now():
    return secondsToStr(clock())

start = clock()
atexit.register(endlog)
log("Start Program")
5

Đã trả lời ngày 26 tháng 11 năm 2020 lúc 13:05Nov 26, 2020 at 13:05

Hướng dẫn how do you calculate execution time in python? - làm thế nào để bạn tính toán thời gian thực thi trong python?

Nick Legendnick LegendNick Legend

6341 Huy hiệu vàng5 Huy hiệu bạc17 Huy hiệu đồng1 gold badge5 silver badges17 bronze badges

Đây là câu trả lời của Paul McGuire phù hợp với tôi. Chỉ trong trường hợp ai đó gặp khó khăn khi chạy cái đó.

import atexit
from time import clock

def secondsToStr(t):
    return "%d:%02d:%02d.%03d" % \
        reduce(lambda ll,b : divmod(ll[0],b) + ll[1:],
            [(t*1000,),1000,60,60])

line = "="*40
def log(s, elapsed=None):
    print line
    print secondsToStr(clock()), '-', s
    if elapsed:
        print "Elapsed time:", elapsed
    print line
    print

def endlog():
    end = clock()
    elapsed = end-start
    log("End Program", secondsToStr(elapsed))

def now():
    return secondsToStr(clock())

start = clock()
atexit.register(endlog)
log("Start Program")
6

Gọi

import time
from datetime import timedelta
start_time = time.monotonic()
end_time = time.monotonic()
print(timedelta(seconds=end_time - start_time))
0 từ chương trình của bạn sau khi nhập tệp.

Hướng dẫn how do you calculate execution time in python? - làm thế nào để bạn tính toán thời gian thực thi trong python?

Đã trả lời ngày 8 tháng 4 năm 2015 lúc 0:24Apr 8, 2015 at 0:24

Saurabh Ranasaurabh RanaSaurabh Rana

3.1401 Huy hiệu vàng18 Huy hiệu bạc21 Huy hiệu đồng1 gold badge18 silver badges21 bronze badges

Thời gian của biện pháp thực hiện của chương trình Python có thể không nhất quán tùy thuộc vào:

  • Cùng một chương trình có thể được đánh giá bằng cách sử dụng các thuật toán khác nhau
  • Thời gian chạy khác nhau giữa các thuật toán
  • Thời gian chạy khác nhau giữa các triển khai
  • Thời gian chạy khác nhau giữa các máy tính
  • Thời gian chạy không thể dự đoán được dựa trên các đầu vào nhỏ

Điều này là do cách hiệu quả nhất là sử dụng "thứ tự tăng trưởng" và tìm hiểu ký hiệu "O" lớn để thực hiện đúng.

Dù sao, bạn có thể cố gắng đánh giá hiệu suất của bất kỳ chương trình Python nào trong các bước đếm máy cụ thể mỗi giây bằng thuật toán đơn giản này: Thích ứng này với chương trình bạn muốn đánh giá

import atexit
from time import clock

def secondsToStr(t):
    return "%d:%02d:%02d.%03d" % \
        reduce(lambda ll,b : divmod(ll[0],b) + ll[1:],
            [(t*1000,),1000,60,60])

line = "="*40
def log(s, elapsed=None):
    print line
    print secondsToStr(clock()), '-', s
    if elapsed:
        print "Elapsed time:", elapsed
    print line
    print

def endlog():
    end = clock()
    elapsed = end-start
    log("End Program", secondsToStr(elapsed))

def now():
    return secondsToStr(clock())

start = clock()
atexit.register(endlog)
log("Start Program")
7

Hướng dẫn how do you calculate execution time in python? - làm thế nào để bạn tính toán thời gian thực thi trong python?

Đã trả lời ngày 31 tháng 7 năm 2017 lúc 15:13Jul 31, 2017 at 15:13

ManumanuManu

Phù hiệu bằng đồng 11244 bronze badges

Làm thế nào để bạn tính toán thời gian thực hiện?

Sự khác biệt giữa thời gian kết thúc và thời gian bắt đầu là thời gian thực hiện.Nhận thời gian thực hiện bằng cách trừ thời gian bắt đầu từ thời gian kết thúc.subtracting the start time from the end time.

Làm thế nào để Python tính toán thời gian thực hiện tính bằng mili giây?

gmtime (0) để có được kỷ nguyên trên một nền tảng nhất định ...
Cú pháp.Phương thức cú pháp của thời gian () như sau - Time.time () ....
Thí dụ.Trong mã ví dụ sau, chúng tôi sử dụng thời gian.....
Đầu ra.Đầu ra của mã trên như sau;Epoch là: THU ngày 1 tháng 1 00:00:00 1970 mili giây kể từ thời đại: 1662372570512. ....
Thí dụ.....
Output..