Từ 1 tới 4 trên tổng số 4 kết quả

Đề tài: Tính thời gian thực hiện 1 đoạn chương trình.

  1. #1
    Ngày gia nhập
    08 2011
    Bài viết
    2

    Mặc định Tính thời gian thực hiện 1 đoạn chương trình.

    Mình muốn tính thời gian thực hiện một đoạn lẹnh mức độ chính xác đến nano(10^-9) giây thì làm thế nào đây hả các bạn.
    Thực ra mình cũng tham khảo và biết được 2 cách.
    1. Đếm clock đầu và clock cuối trừ cho nhau và chia cho CLOCKS_PER_SEC nhưng cách này không chính xác vì CPU, nhất là CPU đời mới nó có chế độ tiết kiệm điện=> thay đổi xung liên tục.
    2. Lấy ngày giờ hệ thống GETSYSTEMTIME() trước và sau gọi hàm trừ cho nhau. Nhưng cũng chỉ đến 1/1000s là hết
    Vả lại trừ thế này gặp lúc trước gọi hàm là phút thứ 59 => sau gọi hàm nó về phút 0 thì trừ lại ra số âm => không khả thi
    :((

    Ai có cách khác giúp mình với

  2. #2
    Ngày gia nhập
    11 2010
    Nơi ở
    hell
    Bài viết
    165

    thử dùng gettickcount xem sao.ko pít có giúp đc j ko.
    HT117-5277

  3. #3
    Ngày gia nhập
    09 2010
    Nơi ở
    Linux-Ubuntu
    Bài viết
    217

    #include <time.h>
    #include <stdio.h>

    int main(void)
    {
    time_t start, end;
    volatile long unsigned t;

    start = time(NULL);
    for(t=0; t<500; t++) ;
    end = time(NULL);
    printf("Loop used %f seconds.\n", difftime(end, start));

    return 0;
    }
    ++Sự Học Không Bao Giờ Là Muộn++
    ---Sướng Thì Ta Làm, Thích Thì Sẽ Được---
    ......Đôi khi bỏ học cũng là một bước đột phá...

    ***HỘI NHỮNG NGƯỜI PHÁT CUỒNG VÌ LINUX***

  4. #4
    Ngày gia nhập
    09 2010
    Nơi ở
    Linux-Ubuntu
    Bài viết
    217

    C Code:
    1. #include <time.h>
    2.   #include <stdio.h>
    3.  
    4.   int main(void)
    5.   {
    6.     time_t start, end;
    7.     volatile long unsigned t;
    8.  
    9.     start = time(NULL);
    10.     for(t=0; t<500; t++) ;
    11.     end = time(NULL);
    12.     printf("Loop used %f seconds.\n", difftime(end, start));
    13.  
    14.     return 0;
    15.   }
    Đã được chỉnh sửa lần cuối bởi nmt1402 : 14-10-2011 lúc 01:24 AM.
    ++Sự Học Không Bao Giờ Là Muộn++
    ---Sướng Thì Ta Làm, Thích Thì Sẽ Được---
    ......Đôi khi bỏ học cũng là một bước đột phá...

    ***HỘI NHỮNG NGƯỜI PHÁT CUỒNG VÌ LINUX***

Các đề tài tương tự

  1. thời gian trên datetimeinput không được nằm trong khoản thời gian có sẳn
    Gửi bởi hungzany trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 1
    Bài viết cuối: 04-06-2013, 09:23 AM
  2. ADO.NET Gán thời gian hệ thống theo 1 thời gian có trước bằng SetSystemTime bị lệch giờ là do đâu?
    Gửi bởi vumanhtuan87 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 3
    Bài viết cuối: 09-08-2012, 08:57 AM
  3. Lấy thời gian hiện tại + Chỉnh thời gian trong Windows
    Gửi bởi ncandy trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 8
    Bài viết cuối: 26-03-2011, 10:29 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn