Hacker News new | past | comments | ask | show | jobs | submit login

I say this from ignorance, but coming from a lineage of linux package managers; brew must be doing something wrong - and upon immediate introspection I doubt that its language specific.

The performance of apt/dnf in comparison is surreal; but dnf (or at least yum, its predecessor) is written in Python; which has even worse performance characteristics than Ruby.

Clearly something is wrong, I wonder how different they are architecturally.




Have you tried Homebrew in the last year or so? I think a lot of people have an impression of Homebrew's performance from the "bad old days," i.e. back when Homebrew had to evaluate every single local formula file to perform any operations at all.

(There's still low handing fruit, but it's not like it was a few years ago where `brew list` took seconds to run. It now runs nearly instantaneously for me locally, like most of the other happy path commands.)


Yes, I use it on my daily driver, and it's at least two-orders of magnitude slower than apt.

However, the speed increase coincided with my upgrade to an M-Series laptop, so it's possible I just presumed there was a significant hardware speedup in the time we're talking about.


Yes, I have. It's slow as shit even on an M1. In the time it takes to install one brew package on an M1, a sudo apt update && sudo apt dist-upgrade has finished updating a dozen packages on a ten year old intel system with a SATA SSD.

I fucking hate homebrew.

I hate the fact that the project still has the attitude of "sudo is le hard and we are le tired."

The project people are assholes.

The maintainers are often well behind current releases.

It maintains a cache of every installed version for no good reason wasting ~10GB or more of my SSD space.

When it breaks it's impenetrable trying to figure out how it broke, there's nobody to ask for help, the documentation sucks, and the fastest thing is just to wipe the whole fucking directory and start over.

I could go on. I don't know a single person that likes using homebrew - it's just the package manager everyone resigned themselves to use.


> I fucking hate homebrew.

> I hate the fact that the project still has the attitude of "sudo is le hard and we are le tired."

> The project people are assholes.

Have you considered that approaching us like this isn't productive and doesn't make anyone remotely interested in helping you?


I'm not the person you responded to, but I've mostly just accepted that homebrew is another paper cut that you get from using a Mac. If I post publicly about it I'm usually not looking for help.

Years ago I worked with someone who strongly disliked brew because it leaned far too heavily on magic. I was okay with it because it seemed to work well. Brew still uses magic but now it just seems like I'm fighting it every single step of the way. I am le tired.


As a serious question, with no leading implied: what are you fighting about Homebrew? I can say with 100% earnestness that we're interested in improving the user experience, and we want to know where the pain points are for our users.

Actually hearing about them (instead of just cursing at us) is genuinely helpful, and we genuinely appreciate it.


> It maintains a cache of every installed version for no good reason wasting ~10GB or more of my SSD space.

cmon, `brew cleanup --prune=0` is just part of the muscle memory by now.


Another performance characteristic that used to piss me off when I used brew was that at least for one program, it had to invoke brew to launch. Something about finding a path. So that's an entire ruby interpreter starting and stopping just to (in this case) run a bash script. Horribly slow.


That’s been fixed for at least a year! But yes, that used to be very slow, particularly when loading brew also meant loading every formula.


One big difference is that apt and dnf are both binary package management systems, whereas Homebrew is a source-based build system with binary packages (“bottles”) added on top.


FWIW, I believe DNF (as of 5?) is now written in C++.

But as a long time Linux user who always has to use a Mac at work I've been consistently floored by how painful Homebrew is to use, to the point that for my latest corp-issued MacBook I switched to home-manager and I'm not looking back.




Consider applying for YC's Summer 2025 batch! Applications are open till May 13

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: