top | item 44175801

(no title)

cellularmitosis | 9 months ago

If it were such an easy problem to fix, don’t you think they would have done so rather than rewriting in Swift?

discuss

order

cogman10|9 months ago

Having been in development for a long time, no.

Frankly, it just takes some motivated senior devs and the tantalizing ability to put out the OP blog post and you've got something management will sign off on. Bonus points you get to talk about how amazing it was to use Apple tech to get the job done.

I don't think they seriously approached this because the article only mentioned tuning G1GC. The fact is, they should have been talking about ZGC, AppCDS, and probably Graal if pause times and startup times were really that big a problem for them. Heck, even CRaC should have been mentioned.

It is not hard to get a JVM to startup in sub second time. Here's one framework where that's literally the glossy print on the front page. [1]

[1] https://quarkus.io/

jamesfinlayson|9 months ago

Yep, resume-driven development. I remember at a previous company a small group of people pushed a Go rewrite to speed everything up. The serious speed improvements came from re-architecting (elimination of a heavy custom framework, using a message queue instead of handling requests synchronously etc). They would have been better off fixing the original system so that everything could benefit from the improvements, not just the tiny bits that they carved off.

Then the next annual report talked about improved scalability because of this amazing technology from Google.

geodel|9 months ago

If Apple does not dogfood their own technology for production systems what chance do they have to tell 3rd party users that Swift is ready for prime time.

Delving into Java arcana instead of getting first hand experience in developing in Swift would've been great opportunity wasted to improve Swift.

selcuka|9 months ago

Nothing at IBM is ever straightforward.

Decades ago, I was working with three IBM employees on a client project. During a discussion about a backup solution, one of them suggested that we migrate all customer data into DB2 on a daily basis and then back up the DB2 database.

I asked why we couldn't just back up the client's existing database directly, skipping the migration step. The response? "Because we commercially want to sell DB2."

Someone|9 months ago

You tune for what you have/can get. Machines with less memory tend to have slower CPUs. That may make it impossible to tune for (close to) 100% CPU and memory usage.

And yes, Apple is huge and rich, so they can get fast machines with less memory, but they likely have other tasks with different requirements they want to run on the same hardware.

tgma|9 months ago

No one gets promoted fixing bugs. Rewriting an entire system is a great way to achieve that.

wiseowise|9 months ago

But then you don’t get promo and “fun” work!