time.ticks() on Linux/macOS

pull/853/head
Alexander Medvednikov 2019-06-30 14:35:26 +02:00
parent b79defd7a9
commit b0c844415d
3 changed files with 15 additions and 4 deletions

View File

@ -405,6 +405,7 @@ string _STR_TMP(const char *fmt, ...) {
}
fn (c mut V) cc() {
ticks := time.ticks()
linux_host := os.user_os() == 'linux'
c.log('cc() isprod=$c.is_prod outname=$c.out_name')
mut a := ['-w']// arguments for the C compiler
@ -530,6 +531,10 @@ mut args := ''
}
println('linux cross compilation done. resulting binary: "$c.out_name"')
}
if c.show_c_cmd {
diff := time.ticks() - ticks
println('cc() took $diff ms ')
}
//os.rm('$TmpPath/$c.out_name_c')
}

View File

@ -25,7 +25,7 @@ mut:
const (
SINGLE_QUOTE = `\'`
QUOTE = `"`
//QUOTE = `"`
)
fn new_scanner(file_path string) *Scanner {

View File

@ -273,18 +273,24 @@ pub fn (t Time) weekday_str() string {
return Days.substr(i * 3, (i + 1) * 3)
}
struct C.timeval {
tv_sec int
tv_usec int
}
// in ms
pub fn ticks() f64 {
pub fn ticks() i64 {
$if windows {
return C.GetTickCount()
}
panic('not implemented')
ts := C.timeval{}
C.gettimeofday(&ts,0)
return ts.tv_sec * 1000 + (ts.tv_usec / 1000)
/*
t := i64(C.mach_absolute_time())
# Nanoseconds elapsedNano = AbsoluteToNanoseconds( *(AbsoluteTime *) &t );
# return (double)(* (uint64_t *) &elapsedNano) / 1000000;
*/
return f64(0)
}
pub fn sleep(seconds int) {