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.

Reply via email to