Some background you can happily skip
Twenty years ago or so, when navigating the web costed a lot, when I was a Windows-only user, and when CDs/DVDs were a large storage means, and when sharing video files with a friend or relative would sometimes require to split the file over multiple CDs/DVDs, copying them on the other computer's person and then rejoining the pieces, I used to use HJSplit. Worked like a charm.
Fast-forward 20 years, I recently found myself in need for such a utility on Linux, due to the slow/unreliable connection not allowing me to easily
scp stuff across physically very distant Linux systems. The solution that came to mind was to split the file and transfer the pieces, then rejoin them.
That's how I found HJSplit was Windows-only and that
lxsplit existed and worked like a charm as well, so all is good.
lxsplit is abandoned since 2008, so maybe some other (better?) solution has come up in these 15 years.
What is the state of the art in this field, i.e. splitting and rejoining big binary files, on Linux?¹
I also thought that conceptually speaking, splitting a file and rejoining it is a very simple task, so I wondered whether I could write my own program for doing so. I tried, and got something working in a few hours, but it's at least ~5 times slower than
lxsplit. Before diving into profiling and benchmarking, I wanted to know whether there's other similar programs that have even better performance than
(¹) I'm not interested in alternative workflows for accomplishing the original task of transfering a big file between two systems. Yes, today you'd probably upload it to Dropbox/Onedrive/GoogleDrive/whatever from one system and download it from the other.