Skip navigation


Di salah satu kuliah yakni High Performance System sering dibutuhkan fungsi untuk menghitung durasi waktu. Salah satu fungsi yang dapat dipakai adalah clock_gettime yang menyediakan ketelitian hingga nanosecond. Fungsi ini menggunakan struktur data yakni timespec yang juga didefinisikan di header time.h.

Cara untuk menghitung durasinya adalah sebagai berikut

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

timespec diff(timespec start, timespec end)
{
    timespec temp;
    if ((end.tv_nsec - start.tv_nsec) < 0) {
        temp.tv_sec = end.tv_sec - start.tv_sec - 1;
        temp.tv_nsec = 1000000000 + end.tv_nsec - start.tv_nsec;
    } else {
        temp.tv_sec = end.tv_sec - start.tv_sec;
        temp.tv_nsec = end.tv_nsec - start.tv_nsec;
    }
    return temp;
}

int main(){

    timespec start, stop;
    clock_gettime(CLOCK_REALTIME, &start);
    sleep(1);
    clock_gettime(CLOCK_REALTIME, &stop);

    timespec duration = diff(start, stop);
    printf("%d.%09d s\n", duration.tv_sec, duration.tv_nsec);
    return 0;
}

3 Comments

  1. ga bisa di compile boz?

    • kompilasinya coba dilink dengan library time🙂

  2. Kang, saya lagi mencari kode Java untuk mencari durasi. C++ bolehlah jadi contoh. Tapi saya agak bingung. Pakai pustaka apa saja ini? Adakah kode yang lebih simpel dari ini? Setidaknya, terima kasih banyak.

    Saya suka jalan-jalan ke blog para programer🙂


Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: