The time spent in the syscall would include time blocked, waiting for a packet to arrive. I would look at the other parts of the profile for possible improvements. The kernel may also be dropping packets if there is not enough buffer space to receive them into; see the SO_RCVBUF socket option. Maybe ntpd sets this option to a larger value than the default.
On Mon, Aug 27, 2018 at 4:42 AM Zhuo Meng <mengzhuo1...@gmail.com> wrote: > Hi, Gophers > > I'm doing benmarking for my GoNTPd <https://github.com/mengzhuo/gontpd> > <https://github.com/mengzhuo/gontpd>. > > I found that my implement is only can handle about 100Kpps (kilo packets > per second) per goroutine while ntpd can handle about 170 Kpps. on Intel > Xeon E312 > The pprof shows most of function time spend on syscall.Syscall6 > (Read/Write from UDP socket), how can I improve that? > > Many thanks! > > -- > You received this message because you are subscribed to the Google Groups > "golang-nuts" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to golang-nuts+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.