top | item 11856816

(no title)

mattetti | 9 years ago

We've been running splice.com on Go for 3 years now and handle 5TB of audio/binary data per day. Our memory usage is around 10-15MB per server and the GC pause time has been really low. You do need to stream your IOs instead of reading everything in memory. In regards to dependency management, we honestly had no issues and now with vendoring, it's even easier. We do use a main repo with lots of smaller packages and only a few 3rd party dependencies that are vendored or available via private git repos. We don't use Google cloud but I heard they have 2 repos, one that has auto generated code and one that has hand written code (but less complete).

discuss

order

kkirsche|9 years ago

Could you elaborate on what you mean by stream your IO? Is this just using buffered io it is there a concept I could read up on here?

mattetti|9 years ago

yes buffered io, you use readers to read/write small chunks at a time instead of loading everything at once. Go offers way to do both since in some cases, such as loading an entire file in memory can be fine/better/faster.

p0nce|9 years ago

OT about splice.com: how do you version control DAW projects, you have a custom parser + text diff? Would you support Orion and Reaper? :)

cheez|9 years ago

Your tagline should be: splice.com - no more sample packs. Haha.

Nice business model.