In Go, why does "File.Readdirnames" make a system call to "clock_gettime"?

As a continuation of this question , I am trying to write a Go program that only lists the file name in an effective question without unnecessary system calls. This is what I have so far:

package main

import (
        "os"
        "fmt"
        "log"
)

func main() {

        // Open directory and check for errors
        f, err := os.Open(".")
        if err != nil {
                log.Fatal(err)
        }

        // Get file names
        files, err := f.Readdirnames(0)
        if err != nil {
                log.Fatal(err)
        }

        // Print files
        fmt.Print(files, "\n")
}

However, when I run strace, I see a lot of the following:

clock_gettime(CLOCK_REALTIME, {1406822401, 824793686}) = 0

What does it mean? How can I make this code more efficient?

+4
source share
2 answers

I am spitballing, but I think this is due to the built-in Go scheduler and garbage collection.

: go , C, , C .

, , , , Go.

0

clock_gettime - , run runtime. runtime , schedual .., clock_gettime.

, , . .

-1

All Articles