3 ms·
https://news.ycombinator.com/item?id=18399389 https://news.ycombinator.com/item?id=18399389. It's been done. Performs well.
by grumpydba 7y ago
https://news.ycombinator.com/item?id=18399389 https://news.ycombinator.com/item?id=18399389.
It's been done. Performs well.
- rowanG077 7y agoThey quite literally were forced to use C for some parts because Go is not a systems programming language. They write this in the article.
- grumpydba 7y ago> As we wanted to keep unsafe code to a minimum, we instead chose to employ the C code from the original driver as an opportunity to present cgo. It's not for performance reasons. I think you misread. Also the driver is pure go now: https://github.com/ixy-languages/ixy.go https://github.com/ixy-languages/ixy.go
- rowanG077 7y agoSystems language is not only about performance. Where did you get that?
- grumpydba 7y agoThey never said that they had to use c because go is not a systems language, so your assertion looks wrong. They wanted to avoid using unsafe. In c everything is unsafe by the way, so it makes it less of a systems language?
- rowanG077 7y agoNo Go isn't a systems language because for one you don't have direct control over memory if you need it. For instance Go doesn't even have the volatile keyword which is essential in many cases when interfacing with hardware. The paper you linked laments this as well.