> but real life workload are not "Geometric Mean".
A good benchmark suite consists of good benchmarks chosen carefully. These benchmarks are not chosen randomly. They represent diverse ways to "stress" or exercise the system. Real life workloads are indeed closer to "Geometric Mean" of various benchmarks by definition because real life workloads are diverse. Not everything would be like sqlite3 which is single pattern of file system usage.
Geekbench, Cinebench, 3DMark etc. are all averages or geometric means of various benchmarks also.
> When I use firefox, sqlite performance matter more than any random benchmark.
You've selected a single benchmark (sqlite) and said it's so important to you that it overrides everything else when you are comparing ZFS vs btrfs.
If you feel that a single benchmark like sqlite is good enough then that is fine -- your decision. I am hesitant to do the same and prefer geometric mean.
Be specific. Why do you need LVM? What for, what do you do with it?
Secondly: are you aware that ZFS includes what LVM does on Linux, and so you don't need a separate tool for it? This makes the comparison tricky but it's important to consider.
Docker is a concept resembling FreeBSD's jails that were introduced in year 2000, having much better isolation, much better security than Docker has had for a long time (perhaps even now jails are still superior to Docker).
Better isolation, better security, but far fewer gists and shared config-files shared ok the Internet for common tasks. Docker comprehensively wkn thr popularity contest, and is often the more convenient solution because of it, in a worse is better way.
People comparing Docker and Jails don't really understand that Docker is 99% about packaging and composing software. From that perspective Jails are nothing like Docker containers. No versioning, no standard, no registry, no compose, no healthchcks, no tree of containers, etc. etc. etc.
If you want to compare Jails to something on Linux then I think LXD is probably much closer to what Jails are.
I tried all three, multiple times, and it depends.
Using the last workload tested as an example, mimalloc just consumed memory like crazy. It was probably leaking, as it was the stock version that comes in Debian, so probably quite old.
Tcmalloc and jemalloc were neck to neck when comparing app metrics (request duration etc... was quite similar), but jemalloc consistently used only about half of RAM as opposed to tcmalloc).
Both custom allocators used way less RAM than the stock allocator though. Something like 10x (!) less. In the end the workload with jemalloc hovers somewhere around 4% of the memory limit. Not bad for one single package and an additional compile option to enable it.
Old people are wonderful relays from paid trolls and propaganda to their peers, unwittingly spreading and amplifying lies and political agenda in social media. They're often retired, having entire days at their disposal, wasting them on forwarding sh*t back and forth.
Well, C# also has its quirks already. Like the crippled finalizers which are never to be used. If the IDisposable interface had been correctly designed, finalizers could become be the "public void Dispose(void)". Or the manual passing of Task in case of async methods, which is... kinda smelly.
It's possible you didn't realise, but C# is sometimes said to be named that way because # is the symbol you get if you draw ++ small and then on the line below ++ again. Hence C++++
All languages have some spikier edges, there are no languages I know where I think "Well, even if we could start over I have no idea how to improve this". What's notable about C++ is just how rich that "could do better" seam is, so very many of their defaults are wrong, so many of their keywords are the wrong word, so many of their standard library features are allowed, sometimes even mandated to be crap.
I don’t know if that’s true or not, but while the thought never crossed my mind before your comment, it’s now canon in my mind. Yes, C# is spelled C++++ with a ligature.
Yes, but no. I learned C++ in '90s when it was C with classes and some other noise added by Stroustrup. During the some 25 years that followed it had became a mess that's insanely hard to work with. I'm not going back to this language. I prefer plain C or Rust, leaning towards Rust when I fully comprehend the lifetime and borrow checker. Or when I have the luxury of having a GCed runtime, then the .NET with its easiest C# language with wonderful abundance of great libraries is the best choice. Nobody was ever fired for using .NET (for right purposes).
Tiring how often this needs to be said, but if you want "C with classes", you can just use C++ that way.
I've been using C++ for more than 30 years (I added thread_local to Cfront back in the early 90s), and while the language has grown dramatically in that time, there is fundamentally nothing that would prevent me from writing "C with classes" using the modern version.
I don't do that because I also like RAII, and polymorphism, and operator overloading and ...
I've never used .NET and could not imagine any scenario under which I would. The libraries that matter to me are mostly written in C or C++ and there are more of them than I'd ever need, mostly.
Languages are both read and written, restrictions like OP is pining for are fundamentally for reading. As such, it is not terribly helpful that they can opt in to restrictions when writing.
From this site's FAQ (linked at the bottom of the page):
> Are paywalls ok?
> It's ok to post stories from sites with paywalls that have workarounds.
> In comments, it's ok to ask how to read an article and to help other users do so. But please don't post complaints about paywalls. Those are off topic. More here. [emphasis added]
Apple should regularly donate to FreeBSD Foundation. They make countless billions USD thanks to FreeBSD. 1M or 5M a year would be a penny to them, but would be a world to the Foundation, which would be able to improve FreeBSD a lot.
https://www.phoronix.com/review/linux-70-filesystems
reply