Live data from Hacker News

Ask HN: Do you feel bad when devices aren't utilized to the extreme?

news.ycombinator.com

121–130 of 132 posts

Re: Ask HN: Do you feel bad when devices aren't utilized to the extreme?

#121
post #28

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.

I don't think that's a fair comparison, machines exclusively running those CI pipelines could be very powerful

That'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.

Re: Ask HN: Do you feel bad when devices aren't utilized to the extreme?

#122

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.

well 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.

You 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.

Re: Ask HN: Do you feel bad when devices aren't utilized to the extreme?

#123
post #57

Earlier quoted context omitted.

> No big deal. Quite the opposite. Microchips are a high technology product, and making them consumes a huge amount of resources. More advanced technology nodes have increasingly stringent requirements regarding the purity of source materials, environmental conditioning, equipment, and energy consumption. And behind them is a huge supply chain where much the same is valid. The complexity and sophistication in this in…

Yeah. I didn't mean to be dismissive. From the perspective of companies like TSMC and Intel, making chips is just what they do. If they sell their thing for $8 and you only use it to look at cat pictures, I don't think they're sad or anything. You gave them your money, they gave them their chip, everyone is happy. If someone nukes the factories and engineers, obviously society suffers an incomprehensible loss. All I'…

Well, I didn't take your comment to be dismissive about the work that goes into the product. My point was more about the ecological impact of high technology manufacturing in general. Which is something that I suspect to not be included in the item price.

Re: Ask HN: Do you feel bad when devices aren't utilized to the extreme?

#124

Earlier quoted context omitted.

You 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.

> 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…

    "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.

Re: Ask HN: Do you feel bad when devices aren't utilized to the extreme?

#125

Earlier quoted context omitted.

How 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.

Please 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.

Not 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

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!

Re: Ask HN: Do you feel bad when devices aren't utilized to the extreme?

#126

Earlier quoted context omitted.

> 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…

"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…

To 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.

Re: Ask HN: Do you feel bad when devices aren't utilized to the extreme?

#127

No, because always running at maximum capacity is an indication that something has no room for failure, or for growth. I have a M2 MacBook Air with the most amount of RAM and storage that Apple would sell me. I'm sure its CPU sits at about 5% utilization almost the entire day. This was intentional on my part. I bought a laptop with enough "extra" capacity that it will be able to handle increased inefficiencies, bloat…

Same reason I bought my Lamborghini... For that occasional time I need to get to the store real quick. But really it is mostly driven 30mph into potholes.

Re: Ask HN: Do you feel bad when devices aren't utilized to the extreme?

#128

Earlier quoted context omitted.

"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…

To 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 p…

Ah 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 ;)

Re: Ask HN: Do you feel bad when devices aren't utilized to the extreme?

#129

Earlier quoted context omitted.

To 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 p…

Ah 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 m…

These are very good suggestion to make it go faster. However, it is also a distraction. My raison d'etre is not to make our infrastructure run fast on Apple's hardware, but to build our core product – again an argument to support my experience of the hardware. I actually think it is Apple's responsibility to make these things run fast.

    replace it with a native image
This is not possible, as we work with a specific version and the test DB needs to be the same version / have the same feature as production.

The other advice would be terrible for our team. It would increase the behaviour surface significantly. Now we have huge discrepancies between what runs in production on what runs in test.

Alternatively: We could also just eat the 13 seconds slowdown, as we doe now or don't use Apple M1s. Both are much better approaches and much more cost efficient.

Re: Ask HN: Do you feel bad when devices aren't utilized to the extreme?

#130

Earlier quoted context omitted.

Ah 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 m…

These are very good suggestion to make it go faster. However, it is also a distraction. My raison d'etre is not to make our infrastructure run fast on Apple's hardware, but to build our core product – again an argument to support my experience of the hardware. I actually think it is Apple's responsibility to make these things run fast. replace it with a native image This is not possible, as we work with a specific ve…

I don't agree that it's a distraction. You want to build your core product. You want your productivity to be high to do that. Part of that is being able to run tests with a fast turnaround so that you can be confident in your changes.

Why would it be Apple's responsibility to make x86 optimized code run at native ARM speeds? That makes no sense to me. It's Apple's responsibility to make your upgrade path to ARM hardware as painless as they can. Thus the emulation layer so that for most cases you can just migrate your Intel Mac to the M1 and keep going as before. But you'll want to slowly replace every binary you can w/ the native ARM version if you want to get the performance gains of the M1.

I think it's like saying "it's a distraction to change my software take advantage of multi core CPUs. It's Intel's job to keep making single core performance faster and faster". Intel was making things faster by going from upping the clock speeds to multi core and hype threaded CPUs. If you choose to call it a distraction you'll be missing out on the performance gains other people can take advantage of because their software can take advantage of having more than one CPU available. An easy example is older computer games that basically don't run any faster today than 15 years ago because they can only use one CPU and the clock speeds are almost the same. Other games are able to run enemy AI, pathfinding, the UI rendering thread etc. on different threads and thus take advantage of the multi-core CPUs.

    This is not possible, as we work with a specific version and the test DB needs to be the same version / have the same feature as production.
I would like to understand this better. You say it's not possible. Whenever I hear that something is not possible, I instinctively want to dig deeper. Maybe it really isn't. Or maybe there's an assumption somewhere that turns out not to be universally true or that w/ a slight modification and perhaps a divide and conquer strategy it actually is possible. So I'll start w/ the first of the "5 whys": Why is it not possible? ;)

    The other advice would be terrible for our team. It would increase the behaviour surface significantly. Now we have huge discrepancies between what runs in production on what runs in test.
What are those huge discrepancies? What exactly are you afraid of will run differently between what runs in test and in production? Keep in mind that I don't know anything about your test suite and what specifically you're testing. Maybe in your exact scenario you're right and it would potentially be bad. In many many situations I've found it's mainly just fear of the uncertainty and in fact there's no issue.

    Alternatively: We could also just eat the 13 seconds slowdown, as we doe now or don't use Apple M1s. Both are much better approaches and much more cost efficient. 
Like I said, I don't know your specific circumstances but these things can add up. 13 seconds here, 9 seconds there etc. and suddenly your test suite doesn't take 2 minutes to run but 10. That's a significant slowdown of a developer. Even 2 minutes wait time is an eternity if you're trying to move ahead w/ something and now you have to sit there and wait. Worst case your developer decides that 2 minutes is a long enough period of time to "quickly go check HN" and 45 minutes later he emerges from the browser window to see that the test suite failed 10 seconds after he switched to reading HN ;)
Post reply on HN