5 ms·
For those that didn't catch it, this is from Brad Fitzpatrick, the same guy who made memcache
by joshfraser 13y ago
For those that didn't catch it, this is from Brad Fitzpatrick, the same guy who made memcache
- adamnemecek 13y agoASAIK, he wrote the original memcached in perl but what everyone is using now is a rewrite of memcached in C by Anatoly Vorobey [1]. Not that it diminishes his efforts or anything, just pointing it out. [1] http://en.wikipedia.org/wiki/Memcached#History http://en.wikipedia.org/wiki/Memcached#History
- remi 13y agoWell, at least he invented it :)
- alperakgun 13y agonext in line, memcached in js? or will anything which can be written in go will be written in go?
- blowski 13y agoAnd if stuff doesn't get written in Go, then people will criticise Go for not having anything in production. The internet is not going to run out of space through people writing too much software.
- pbreit 13y agoGo seems like a reasonable
- twotwotwo 13y agogroupcache has a couple of differences from memcached that are probably part of why it exists: - thundering herds suck, so it manages how the cache is filled when a key is missing - repeatedly retrieving super hot values will eventually exhaust the network pipe of whichever server held, so groupcache replicates hot values to more than one cache server Since this was built for dl.google.com, the 'value' might be big (say, a chunk of the Chrome binary) and the request rates for the top cache keys probably get pretty high. So, even if memcached is doing good work for lots of folks, the distinct features of groupcache probably address real needs in the app. And, yeah, groupcache and the dl.google.com rewrite are Go partly because Brad likes Go, but both projects had reasons to exist quite apart from deploying Go for Go's sake.
- bradfitz 13y agoAnd then I rewrote it in C++ for App Engine and other users within Google (Blogger, Plus, hundreds others). I also then ported the C++ memcached (called memcacheg) to Go, for profiling Go vs C++, and named that one memcachego. So I've written it about 4 times.
- orf 13y agoHow did the Go version compare to the C/C++ one?
- groby_b 13y ago"I've written it 4 times, and I've gotten exceedingly good at it" :) Kidding aside, anything you learned during the rewrites that caused noticeable changes to the design, or it's still the same thing, just transliterated?
- smegel 13y ago> I also then ported the C++ memcached (called memcacheg) to Go, for profiling Go vs C++ How were the results of the profiling? Anything interesting come out?
- deleted 13y ago[deleted]
- coldtea 13y agoSo, to get this straight, the popular port, which people install with a "yum install memcached" (or from source), is still the C version, right? The others sound like they are mostly used by Google.
- Denzel 13y agoOff-topic: What exactly does ASAIK mean? All slang definitions online point to, "as soon as I know," which frankly makes no sense.
- adamnemecek 13y agoI meant AFAIK.
- deleted 13y ago[deleted]
- sylvinus 13y agoWe just published his talk at dotScale 2013 where he talks about software design, Go, lockservers and more: http://www.youtube.com/watch?v=sYukPc0y_Ro http://www.youtube.com/watch?v=sYukPc0y_Ro