v0.beta.2026.10.30 release banner
Releases

v0.beta.2026.10.30(v0.beta.2026.10.30)

Monstrously Fast: We built our own serialization library

Monstrously Fast

In the spirit of Halloween, This week’s update was a truly monstrous undertaking (but a much-needed one). To give you a sense of the scale of its monstrosity, this week’s diff broke my personal record for largest code change—greater than 1 million lines of code. For comparison, a 1000 lines of code change is considered a decent update. So what on earth were we possibly doing?!

Context

At Poly we’re obsessed with creating the best product for storing, sharing, and browsing your files. Underlying our product are a constellation of “services” that all have to talk to one another. There’s the application (or browser tab) running on your computer, but inside of that there’s actually a local cache for makes browsing faster. Then there’s the server, but behind that server there are other services like our smart indexer, search, AI processor, snapshot server, chat server, and more. As our constellation has grown, so has the requirement for all these services to talk to each other. Surprisingly, that talking part turns out to take up a significant part of the CPU cycles of each machine. In technical terms that’s called “serialization/deserialization overhead”. Basically, it’s all the work of formulating messages into the packaged, minimal representation that actually get sent over wifi, then ethernet, then fiber cables ultimately into our secure datacenter.

We built our own serialization library

The common ways to do this talking are technologies with names like JSON, Protobufs, Flatbuffers, and so forth. When processing over 10K requests per second (RPS) per server, we found that none of these tools (nor the other newfangled ones that folks brag about) were fast enough. So we built our own, called Genbuffers. The key feature behind genbuffers is that you can read, parallelize, and even edit a genbuffer while it’s still compact! Without going into extreme detail, it’s like being able to see, scan, and even copyedit a letter without even opening the envelope! The technique is based on the principles of “Generational Compaction” (hence the term genbuffers) that harks back to how some programming languages work. Using genbuffers makes nearly everything in Poly such as reading, forwarding, and serializing files super fast since you don’t have to pay all the added overhead.

What this means for you

All this technical background really means one thing for users: everything gets faster. Operations are between 1.25x to a whopping 50x faster in some cases. And not just faster but less taxing on your computer, more scalable. Fewer beach balls of death. Fewer hangs.

You may not feel the full speed of genbuffers instantly, but over the next week we have an exciting new release that will make use of genbuffers and hopefully give you something mind-blowing.

🧹 Improvements

  • You can now see who deleted files and when on flashback mode

🐞 Bug Fixes

  • You can now copy the link in the details panel
  • Downloading certain file types off the web should work more reliably, either via drop, poly wget on the command line, or asking the agent to download a file for you.
  • Various minor improvements to tools like the 3D viewer.
  • Fixed some issues with video downloading that caused indexing of large videos to stall indefinitely
  • Certain raw images now report their image sizes correctly
  • Removing / deleting a shared drive or a shared file from your desktop now does the correct thing.
© Poly Corp. 2026