4 ms·
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
by mattetti 10y 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).
- cheez 10y agoYour tagline should be: splice.com - no more sample packs. Haha. Nice business model.
- kkirsche 10y agoCould 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 10y agoyes 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 10y agoOT about splice.com: how do you version control DAW projects, you have a custom parser + text diff? Would you support Orion and Reaper? :)