Skip to main content

Một câu lệnh chạy mất bao lâu?

Đã bao giờ ai đó hỏi điều này?
Đã bao giờ bạn đo chương trình của mình chạy mất bao lâu?
Nếu dùng linux, dễ dàng kiểm tra bằng time. Hoặc có thể tự viết vài dòng code để tính. (trong C dùng thư viện time.h)
Tớ sẽ lấy ví dụ với Java - ngôn ngữ bậc cao chậm hơn C tương đối :D

Code:

package com.familug;

public class NanoSecondTest {
    public static void main(String[] args)
    {
        long start = System.currentTimeMillis();
        long finish = System.currentTimeMillis();
        System.out.println("MillisTime: " + (finish - start));
       
        long nanoStart = System.nanoTime();
        long nanoFinish = System.nanoTime();
        System.out.println("NanoTime: " + (nanoFinish - nanoStart));
    }

}
Kết quả:
MillisTime: 0
NanoTime: 427
Như vậy, với em lap của tớ, một câu lệnh chạy không đến 1 mili giây - hiển nhiên vì chỉ với máy thời 198x mới có tốc độ rùa bò như vậy.
Đo bằng nano giây = 1 / tỷ giây thì kết quả là 427.
Máy của tớ là  Intel i3 M370 2.4 Ghz. Tính đơn giản: với tần số 2,4 tỷ circle / giây -> 2,4 circle (xung giao động 2,4 vòng) / nano giây. Nếu chỉ tính 1 nhân thực hiện việc này thì mất 2,4 * 427 = 1024 circle. Chia trung bình cho 3 câu lệnh -> mỗi câu ~400 circle ~ 140 nano giây.
=> trong 1 giây có thể thực hiện khoảng hơn 1 chục triệu câu lệnh.
Vậy những bài mà cắm máy cày top bán Acc ko biết là tính bao nhiêu phép tính đây :">
Tớ tính toán có gì sai ko nhể :D

Comments

Popular posts from this blog

Tài liệu và hướng dẫn học Python

Để tiết kiệm thời gian, tốt nhất là đi học PyMI Updated: 130617 Sau đây là các tài liệu khuyên dùng: Vì nhiều lý do, nên học python2.7 tại thời điểm hiện tại (giờ là tháng 6/2013 - muốn biết tại sao thì tự tìm hiểu) python 3.5+ (giờ là tháng 2/2017) Chuẩn bị: 1. biết bật tắt máy 2. biết cài python 3. tập gõ 10 ngón - gõ 2 ngón hay 1 ngón cũng không sao, nhưng 10 ngón là cách dễ nhất để gõ nhanh nhất. Tài liệu - Nên dùng tài liệu tại trang chủ của Python làm chính, tham khảo thêm các tài liệu khác tại http://www.familug.org/2016/12/free-ebook.html Căn bản, mới học 1.1 Python PyMI.vn https://pymi.vn/tutorial/ 1.2. Python offical tutorial kết hợp làm bài tập trên HackerRank  (đề bài bằng tiếng Anh, nhưng Google translate 1 lúc cũng ra vì có nhiều ví dụ mẫu đi kèm). Học viên của Pymi.vn có rất nhiều học viên đã tự học với Learn Python the hard way nhưng chưa thấy ai thành công cả. Hai link dưới nên đọc sau khi đã nắm được những phần cơ bản của ngôn ngữ pytho...

The PyMiers

New FAMILUG