Thanks very much. This is all very interesting. On Sat, May 4, 2019 at 2:20 AM <keith.rand...@gmail.com> wrote:
> I don't have hard numbers on slowdowns. It will depend a lot on the binary > in question. > At the time I checked the compiler and linker and it did not slow those > down (to the accuracy of our benchmarks). The linker particularly is fairly > read syscall intensive. > > We've seen benchmarks that have significant slowdowns though. There was a > factor of 4 slowdown on 1.12 for a (IMO a not very realistic) http > benchmark. This wasn't conclusively pinned on the libSystem changes, but it > seems likely. > > On Friday, May 3, 2019 at 4:52:37 PM UTC-7, Ian Lance Taylor wrote: >> >> On Fri, May 3, 2019 at 3:36 PM <ivan.m...@gmail.com> wrote: >> > >> > I know that calling C functions via cgo is relatively expensive because >> of the goroutines, so there must be some optimizations/tricks to make all >> these libc calls fast. >> >> Yes, this only uses part of the cgo call path, not all of it. In >> particular there's no need to notify the scheduler about these calls >> (beyond what was already done before this change), just as we don't >> need to notify the scheduler about all system calls. >> >> Ian >> >> >> > On Saturday, May 4, 2019 at 12:21:27 AM UTC+2, ivan.m...@gmail.com >> wrote: >> >> >> >> Indeed, it works with Go 1.12. I have 3 different Go versions, and my >> aliasing was messed up. Sorry. >> >> >> >> > No. The Linux kernel, fortunately, supports static linking and >> provides a stable syscall API. There is no reason to make this change on >> GNU/Linux. >> >> >> >> Good to know, thanks. So Linux, BSD, Plan9 are now the only platforms >> using raw syscalls. >> >> >> >> Last question: did performance drop after the switch? There must be >> benchmarks. >> > >> > -- >> > 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 golan...@googlegroups.com. >> > For more options, visit https://groups.google.com/d/optout. >> > -- > You received this message because you are subscribed to a topic in the > Google Groups "golang-nuts" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/golang-nuts/uX8eUeyuuAY/unsubscribe. > To unsubscribe from this group and all its topics, 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.