This is test: ``` uint64_t getnsecs() { uint32_t lo, hi; __asm__ __volatile__ ( "rdtsc" : "=a"(lo), "=d"(hi) ); return ((uint64_t)hi << 32) | lo; } int main() { const int num_iterations = 1; uint64_t start, end, total_time = 0; start = getnsecs(); for (int i = 0; i < num_iterations; i++) { (void) lrand48(); } end = getnsecs(); total_time += (end - start); printf("Average time for lrand48: %lu cycles\n", total_time / num_iterations); return 0; } ``` before: Average time for lrand48: 21418 cycles after: Average time for lrand48: 9892 cycles