5 ms·
What this actually means: groupcache is awesome. You just act as if the cache is full, and if it isn't, it will be. Where did the data come from? That's pluggab
by JulianMorrison 13y ago
What this actually means: groupcache is awesome. You just act as if the cache is full, and if it isn't, it will be. Where did the data come from? That's pluggable. And no concern of the part that just serves it up. Very subtle, very nice.
- revelation 13y agoWhat this actually means (2): Go standard library has reasonable performance. This won't work so beautifully when whoever implemented all the magic bits under your business logic didn't do so to deliver reasonable performance for your use case. Or if the underlying code is in fact wrong. This turns into the kind of code you can see from Line 242: https://code.google.com/p/google-api-go-client/source/browse/googleapi/googleapi.go#242 https://code.google.com/p/google-api-go-client/source/browse...
- enneff 13y agoI'm puzzled by this comment. We optimise the standard library for the majority cases, and putting the download server into production helped us improve Go's HTTP stack for everyone. Similarly, when other users report issues with our standard library, we fix them. The file you linked to contains some code to accommodate a bug that existed in Go 1.0 and was fixed in 1.1. Not sure what the relevance is here though.
- revelation 13y agoThe new software relies heavily on the Go net/http implementation of a HTTP server. That is arguably a very very big chunk of the complexity in a HTTP download server. So it leaves a bad taste when the presentation mocks the original C++ implementation while the Go solution only works because there is a fully functional high performance HTTP server already in the standard library. There is not a single slide that tells us it may not be a good idea to rely on the standard library for such high-level functionality. Thats why I linked to the bug. A normal user has very little options when it turns out theres a bug in the standard library, other than to report it and wait for you to fix it. The problem is exacerbated since standard library and language versions are tightly coupled.
- krasin 13y ago>other than to report it and wait for you to fix it. Go team is very welcome patches from the external contributors: http://golang.org/doc/contribute.html http://golang.org/doc/contribute.html No need to wait, you can fix it and have your patch accepted (after a code review). After that, there's not such a difference between an HTTP server in the standard vs a third-party library
- nakkiel 13y agoNot to mention it's trivial to maintain a fork of the Go stdlib thank to its permissive license.
- roel_v 13y agoLol, anyone who says 'it's trivial to maintain a fork' about anything has obviously never done so - especially when suggesting in the same sentence that the licence of all things is one of the harder issues when maintaining a fork.
- nakkiel 13y agoIt wasn't meant as a fully maintained fork. Look at it as a set of patches on top of the stdlib. As for the license, it does matter since with the GPL you'd be stuck and it turns out that there's some debate with the LGPL as well (IANAL).
- e12e 13y agoFor most things go is used for right now, you'd normally not run into issues with distribution as defined by LGPL and GPL? (If you use it to deploy something as a service). Anyway how would the GPL make a difference to your forking of the std lib? Either you link to the standard lib and all your code (that is linked into that binary and distributed as such) falls under the GPL, or you don't -- whether you distribute a patch (set) doesn't seem to change anything?
- jamesaguilar 13y agoWhat I'm about to say is a little trollish, but if you use words like, "Business logic," whatever you're writing probably doesn't need to be faster than Go. And anyway, if performance sensitive bits are your thing, cgo is probably the best FFI outside of C# that I've ever used. Also, it's a sign of a defective language that the library guards against old environments? Really?
- revelation 13y agoBusiness logic is the word used in the slides.
- jamesaguilar 13y agoDamn! Your close reading has completely disarmed my bad attitude.
- andrewflnr 13y agoOut of curiosity, have you used Lua's FFI? I found it fairly nice, so anything better would be worth studying.