Có cách nào đơn giản để đo thời gian thực hiện của hàm nếu tôi chạy hàm đó từ một trình bao erlang?Làm thế nào để đo thời gian một hàm cần thực thi từ một trình bao erlang?
10
A
Trả lời
16
Vui lòng xem bài viết Measuring Function Execution Time qua tại trapexit.org.
Tất cả đều dựa trên timer:tc/3 để đo lường.
3
Nếu bạn muốn đo một chức năng ẩn danh:
1> TC = fun(F) -> B = now(), V = F(), A = now(), {timer:now_diff(A,B), V} end.
2> F = fun() -> lists:seq(1,1000) end.
3> TC(F).
{47000,
[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,
23,24,25,26,27|...]}
trung bình của N chạy:
4> TCN2 = fun(T,F,0) -> ok; (T,F,N) -> F(), T(T,F,N-1) end.
5> TCN = fun(F,N) -> B=now(), TCN2(TCN2,F,N), A=now(), timer:now_diff(A,B)/N end.
6> TCN(F, 1000).
63.0
0
tôi đang học Erlang
và đây là một trong những bài tập trong cuốn sách, ở đây nó như thế nào Tôi đã thử nó
lib_misc.erl
time_taken_to_execute(F) -> Start = os:timestamp(),
F(),
io:format("total time taken ~f seconds~n", [timer:now_diff(os:timestamp(), Start)/1000]).
và trên command-line
, tôi làm
1> lib_misc:time_taken_to_execute(fun() -> 1 end).
total time taken 0.003000 seconds
ok
2> lib_misc:time_taken_to_execute(fun() -> [Num || Num <- lists:seq(1, 100)] end).
total time taken 0.085000 seconds
ok
3> lib_misc:time_taken_to_execute(fun() -> [Num || Num <- lists:seq(1, 10000000)] end).
total time taken 9354.205000 seconds
ok
4>
Có phải đó là một cái gì đó bạn đang tìm kiếm?
Các vấn đề liên quan
- 1. Thời gian đo được thực hiện bởi một hàm: clock_gettime
- 2. Làm thế nào để thực hiện một hàm sau một thời gian javascript
- 3. đo thời gian trong một hàm trong C
- 4. Đo thời gian thực thi mã C (Linux)
- 5. Làm cách nào để đo thời gian một hàm đang chạy?
- 6. Làm cách nào để đo thời gian thực thi mã trong VBScript hoặc JavaScript?
- 7. Làm thế nào để tham chiếu một hàm từ bên trong thực thi của chính nó?
- 8. Làm thế nào để đo thời gian thực thi lệnh x86 và x86-64 trong các chu kỳ xử lý?
- 9. Làm cách nào để đo thời gian trong C?
- 10. Làm thế nào để giới hạn thời gian thực hiện của một hàm trong javascript?
- 11. sử dụng trình bao bọc java-ffmpeg hoặc chỉ cần sử dụng thời gian chạy java để thực thi ffmpeg?
- 12. Thời gian cần thiết cho một quá trình hoàn thành
- 13. ERLANG - Ứng dụng thời gian
- 14. Erlang: Trả về từ một hàm
- 15. Làm thế nào để thực hiện một cơ chế thực thi giới hạn thời gian trong CLISP?
- 16. Phi tiêu có cách nào để đo thời gian thực hiện cho một mã nhỏ
- 17. Làm thế nào để thực thi nội tuyến Python từ một bash shell
- 18. Làm thế nào để xóa một thời gian chờ javascript Thats đặt trong một hàm
- 19. Cách tìm thời gian thực thi php?
- 20. Biên dịch Erlang - Erlang là độc lập thực thi
- 21. Làm thế nào để gửi một email đơn giản từ một tập tin thực thi Windows?
- 22. thời gian thực thi dòng lệnh mysql?
- 23. Làm thế nào để thời gian một hàm tính bằng mili giây mà không tăng :: timer
- 24. Làm thế nào để tính toán chính xác thời gian cần một chương trình Java để viết hoặc đọc một tệp?
- 25. Làm thế nào để bao gồm một bộ đếm thời gian trong Bash Scripting?
- 26. cách đo thời gian thực hiện các hàm (tự động) trong Python
- 27. Mất bao lâu để một tập lệnh thực thi?
- 28. Làm thế nào để làm ssh với một thời gian chờ trong một kịch bản?
- 29. Giới hạn thời gian thực thi cho một kịch bản Lua được gọi từ C API
- 30. Đếm trong Erlang (? Làm thế nào để tăng một biến)
Bạn lo lắng cho tôi ở đó !! Bạn phải chia cho 10^6 để có kết quả chính xác. – t0il3ts0ap