[Feature request] 32-bit Docker images #1304
Replies: 3 comments 3 replies
-
I have mixed feelings about this, so I did some tests to find out the difference between 32-Bit Valkey vs 64-Bit Valkey. Here is what I found:
Total memory used So, ~14.4% more memory efficient. On the surface, yeah, that extra 14.4% would be helpful for resource constrained situations. I haven't done a benchmark, my guess is they'd be pretty comparable, although I'd love to see something on a benchmark. What I'm a little more concerned about is what the project would need to maintain by issuing a 32-bit container. I'm not sure how much 32-bit Valkey is tested and the long-term outlook for 32-bit stuff is... grim. We're far beyond the days when 32-bit is needed to support any plausible, contemporary hardware. 64-bit is a far less constrained environment for a memory hungry application like Valkey; I feel like 32-bit containers would be used only by a handful of people and they are a non-trivial thing to maintain. |
Beta Was this translation helpful? Give feedback.
-
This is an interesting topic and I'm interested in knowing more about the memory usage for different workloads. For small keys, or hashes with many small elements, I believe it can save a lot of memory. I'd like to improve that documentation section with some up-to-date numbers too. 32-bit is still supported and we have CI jobs for x86 32-bit. It's not a prioritized target though and maintaining containers for various platsforms involves a considerable maintenance burden, so I don't really want to commit to that. We've already noticed a maintenance burden for the containers we already have. For example, we need to compile for different OpenSSL versions for different Ubuntu releases. That said, if someone wants to maintain such containers, I'm not going to be against it. Recently, we've seen that there are 32-bit VMs that compile to WASM and run in a browser. See this: #1412 |
Beta Was this translation helpful? Give feedback.
-
I'd have to rebuild everything @zuiderkwast. It's not too much effort, but I'll need to find some time. But you're right and there are a lot of factors too: this was all strings and other data structures have more pointers which means a bigger difference but that's not too easy to generate. But I don't think it truly changes the arguments against a 32-bit container. I'm a little curious of the whole idea of 32-bit containers are moribund. And the 32-bit in-browser VM is the first thing I've seen that makes me not want to kill 32-bit Valkey with fire. (And FWIW, I ran |
Beta Was this translation helpful? Give feedback.
-
Hi all
I did some testing after reading the following in the docs and found a significant reduction in memory usage with 32-bit builds:
Is there any chance official 32-bit versions could be added to Docker Hub? I realise I can build them myself but official images would make maintenance a lot easier. The use case is caching - the majority of web apps don't need anything close to 4GB and the reduced memory footprint is a big help in resource constrained environments.
Beta Was this translation helpful? Give feedback.
All reactions