5 ms·
To be honest an M1 (M1 Max, 64GB RAM) performs quite poor doing serious software development. As an example, it takes 22 sec to run a test suite on the M1, in
by madsbuch 4y ago
To be honest an M1 (M1 Max, 64GB RAM) performs quite poor doing serious software development.
As an example, it takes 22 sec to run a test suite on the M1, in our CI the same test suite takes 9 sec.
These might be due to software that has not been written yet.
To be honest, the computer seems like a high end office computer, so I think that use case seems spot on.
- tharkun__ 4y agoYou say "a" test suite as if this was universal truth. I can tell you that it is not and your suspicion is correct. It depends. Our own test suites saw 25-50% performance increases / decrease in runtime on our developer machines when we switched to M1s for example.
- madsbuch 4y ago> You say "a" test suite as if this was universal truth In my comment I wrote "As an example ..." and I absolutely did not say this is a universal truth. It appears like you are able to comprehend basic English, and should be able to read my commentary. You wrote the following in another comment > but feeding this troll is sort of fun Who do you think you are to write stuff like that? Why do you feel like it is OK to make these types of personal attacks on a forum like this?
- tharkun__ 4y ago"As an example ..." and I absolutely did not say this is a universal truth Fair enough that you may have meant it like that. However it can also read as "an example of the M1 being nothing more than a high end office computer" is that "a test suite" (universally) runs slower. The next example might be that say "a C compiler runs slower", "a web server will run slower" etc. As I understand you now, you meant that one of your test suites ran slower. You could have made it more clear by saying exactly that: "As an example, one of our main test suites ran ..." I read it the other way as just an example of test suite, compiler, web server etc. specifically because you then went on to say that it's just a glorified office computer, where it basically doesn't matter that this happens, because it's gonna be good enough to run a browser to look at Facebook ;) Who do you think you are to write stuff like that? This has nothing to do with "who". And also nothing with you. That's between him/her and me. It has to do with the fact that trap_goes_hot completely ignored anything you or I wrote and proceeded to accuse me of criticizing you. Again "criticizing" can be taken in multiple ways: To find fault with To judge the merits and faults of; analyze and evaluate. I think he meant that I was finding fault with in a harsh way. That's not what I was doing. I was analyzing and evaluating and responding to that. I analyzed your sentences and tell you that I read it such that you were saying the test suite thing "as if this was universal truth". That is how I read it and the rest of my reply is to be taken under that premise. He then went on to reply with yet another trolling reply. I simultaneously didn't want to validate it with a reply but I really had to. I bet we could have gone on from one thing to another for another 20 replies and gotten nowhere.
- madsbuch 4y agoTo be precise: An Elixir test suite written using ExUnit, heavily reliant on a Postgres container. The Postgres container is being emulated. I realise that this might not be due to the architecture or the M1 per se but due to the fact that we are emulating an x86 docker image. Regardless the test suite runs significantly slower, than if my computer would have been x86, which is the experience I am commenting on – a point that I also fleshed out even. However, I love browsing the web, watching movies, writing email, etc. on the computer, at which it excels. ---- I read the troll judgement as being passed towards me, if that was not the case, I apologise. Yes, internet communication can be difficult.
- tharkun__ 4y agoAh yes. That's why I wrote that your suspicion on why it was slow is probably correct. We had the same thing. Emulated stuff either runs not better, way slower or even crashes and you gotta get a new image/package/compile it for the M1/M2. A database is a prime example of where any minor slowdown due to emulation can be disastrous. A database does lots of things in an optimal way to make it fast. For that it has to make assumptions (or know) how certain things behave, what properties they have. Emulation can screw with that. This is also why running your production database in a VM against virtualized storage (not even thinking docker/k8s etc. here - tho that's also bad in the same way - just plain old running that postgres in production in a VM provided by your vmware esx cluster) is not a good idea. It's just going to be abysmally slow and slow down at exactly the wrong moments even if it "usually" runs "just fine". If your tests rely on that postgres database in any significant way, I am not the least surprised that your test suite slows down like that. My advice would be to replace it with a native image or better yet, write less tests that rely on that postgres database and write the integration tests that aren't reliant on actual postgres behavior against an in-memory database like hsqldb and only have a very thin layer of tests running against an actual postgres, if you still need them at all. Fun exercise: take an ARM version of postgresql and run it under emulation on an x86 computer and see how your test suite behaves ;)
- madsbuch 4y ago
- trap_goes_hot 4y agoI don't understand this. Does Apple market their M1 as "it depends" ? Or do they say "When you need the highest level of performance ever in a Mac notebook, there’s M1 Max.". I would be insisting Apple actually backup their claim rather than criticizing the OP.
- tharkun__ 4y agoHow does marketing come in? The OP made a claim of basically (paraphrasing here): "this thing blows, it results in a 50% performance drop for test suites". I believe him for his case. Our case was showing the oppositebehavior. Thus it seems to depend. Simple logic.
- madsbuch 4y agoPlease refrain from indicating that I wrote something I absolute did not. I said "As an example ..." which you are paraphrasing into "... for test suites". You are paraphrasing my existentialistic argument into a universal argument. Please never do this.
- tharkun__ 4y agoNot sure why you felt the need to say the same thing twice. My reply to this would be the same as above, i.e. see here: https://news.ycombinator.com/item?id=33844284 https://news.ycombinator.com/item?id=33844284 It seems like something that is prone to happen in text and 'on the interwebs' in particular, where we don't have intonation and don't know each other. FWIW, I wasn't being mad or anything. I just read your post in a different way than you meant it and as I explain above I think it's absolutely possible to read it that way. Everything else is just following from that and the thread you're replying in here has almost nothing to do with you any more and is just trap_goes_hot going on some tangent and me replying to the trolling more than your topic. I spontaneously laughed at the moldy cookie thing and I almost had to upvote him/her for that lol!
- trap_goes_hot 4y agoPeople review products for their own use case. I see the comment and I go okay - thats a one star review. You may give it a 4/5 star, so its all good then?
- nyadesu 4y agoI don't think that's a fair comparison, machines exclusively running those CI pipelines could be very powerful
- madsbuch 4y agoThat's a fair concern. For me, the computer performs really well on web / office workloads. I came from a Thinkpad X1 extreme from 2018 with PopOs installed. That computer gave me a significantly better performance running our dev infrastructure (~10 containers), developing out product and running tests. I think the MacBook is a beautiful computer. I just would not recommend it for large scale software development.
- smoldesu 4y agoIMO the bigger problem is that MacOS is poorly equipped to handle modern development workloads. POSIX-certification is near-meaningless in 2022 and essentially hides a rotting UNIX ecosystem at the heart of MacOS. Unless you modify the OS (add a package manager, force recent coreutils, eschew Xcode, etc.) Macs will feel like the black sheep of your infrastructure. A good 80% of my Mac gripes could be solved by running Linux full-time. Unfortunately the other 20% are ARM-related issues, so I'm sorta stuck between a rock and a hard place.
- adhoc_slime 4y agowell honestly that's just wasted compute becuase of the design limitation of the M1 and its cooling. It runs full tilt to a thermal limit and then stays below it, thermally throttling the CPU. Makes me want to see a benchmark comparison with some custom cooling solution on an m1 vs stock. The whole laptop form-factor for these cpu's feels so limiting to their potential.
- madsbuch 4y agoYou are probably right. And the architecture would probably perform better in other settings. However, I got a computer with these limitations on cooling so it is not quite relevant how it would perform under other conditions.
- dijit 4y agoIs your CI running on docker for mac, perchance?
- madsbuch 4y agoCI is running on Github actions on their Ubuntu instances.