diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2007-06-17 23:40:26 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2007-06-17 23:40:26 +0000 |
commit | bd7bb299c0e9ee5ff52c9d12b46fb14a907b34da (patch) | |
tree | 117a635e9457e1a932bc64941db5869e33179fc9 /libbb | |
parent | 459be35234cc24b69309eb0ee22600024c73713e (diff) | |
download | busybox-w32-bd7bb299c0e9ee5ff52c9d12b46fb14a907b34da.tar.gz busybox-w32-bd7bb299c0e9ee5ff52c9d12b46fb14a907b34da.tar.bz2 busybox-w32-bd7bb299c0e9ee5ff52c9d12b46fb14a907b34da.zip |
wget: use monotonic_sec instead of gettimeofday
zcip: use monotonic_us instead of gettimeofday
udhcpcd: simpler, shorter random_xid()
function old new delta
monotonic_sec - 41 +41
find_pair 164 180 +16
run_list_real 2018 2028 +10
cmp_main 547 555 +8
collect_ctx 112 119 +7
singlemount 4544 4549 +5
time_main 1124 1128 +4
static.start_sec - 4 +4
static.lastupdate_sec - 4 +4
sock - 4 +4
read_package_field 253 257 +4
pick 38 40 +2
get_next_line 145 147 +2
count_lines 59 61 +2
process_stdin 435 433 -2
xstrtoul_range_sfx 229 226 -3
static.initialized 4 1 -3
dhcprelay_main 1125 1122 -3
catcher 380 377 -3
arping_main 1969 1966 -3
s 8 4 -4
cfg 4 - -4
static.lastupdate 8 - -8
start 8 - -8
random_xid 95 33 -62
.rodata 129114 129050 -64
zcip_main 1731 1576 -155
progressmeter 1035 867 -168
------------------------------------------------------------------------------
(add/remove: 4/3 grow/shrink: 10/11 up/down: 113/-490) Total: -377 bytes
Diffstat (limited to 'libbb')
-rw-r--r-- | libbb/time.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/libbb/time.c b/libbb/time.c index f2a741521..3e35542f3 100644 --- a/libbb/time.c +++ b/libbb/time.c | |||
@@ -21,12 +21,23 @@ unsigned long long monotonic_us(void) | |||
21 | bb_error_msg_and_die("clock_gettime(MONOTONIC) failed"); | 21 | bb_error_msg_and_die("clock_gettime(MONOTONIC) failed"); |
22 | return ts.tv_sec * 1000000ULL + ts.tv_nsec/1000; | 22 | return ts.tv_sec * 1000000ULL + ts.tv_nsec/1000; |
23 | } | 23 | } |
24 | unsigned monotonic_sec(void) | ||
25 | { | ||
26 | struct timespec ts; | ||
27 | if (syscall(__NR_clock_gettime, CLOCK_MONOTONIC, &ts)) | ||
28 | bb_error_msg_and_die("clock_gettime(MONOTONIC) failed"); | ||
29 | return ts.tv_sec; | ||
30 | } | ||
24 | #else | 31 | #else |
25 | unsigned long long monotonic_us(void) | 32 | unsigned long long monotonic_us(void) |
26 | { | 33 | { |
27 | struct timeval tv; | 34 | struct timeval tv; |
28 | if (gettimeofday(&tv, NULL)) | 35 | gettimeofday(&tv, NULL); |
29 | bb_error_msg_and_die("gettimeofday failed"); | ||
30 | return tv.tv_sec * 1000000ULL + tv_usec; | 36 | return tv.tv_sec * 1000000ULL + tv_usec; |
31 | } | 37 | } |
38 | |||
39 | unsigned monotonic_sec(void) | ||
40 | { | ||
41 | return time(NULL); | ||
42 | } | ||
32 | #endif | 43 | #endif |