Hacker Newsnew | past | comments | ask | show | jobs | submit | byroot's commentslogin

Similarly, when writing Facebook apps with Rails, when you'd hit that same bug you'd see Mark Zuckerbeg: https://www.facebook.com/profile.php?id=4


It was just one of many.

Alone it wouldn't have been very noticeable, but I did many small optimizations like that, which ultimately shaved about 20 seconds of setup time.

Looking from another angle, the app boot time on CI (not eager loading) was a bit more than 10 seconds, this saved over half a second, so a ~5% gain for an afternoon of work.


that sounds nice, thanks for sharing The Numbers! :D



Nothing ground breaking we simply deploy Buildkite agents on EC2 nodes.

As mentioned in the post, the only thing really limiting CI parallelism is the ratio of "setup time" vs "test time". If your setup time is too long, you hit diminishing returns fast.


Thank you for sharing – with 1350 workers I can appreciate the reduction of setup time!


Aside from the oddness of making this cache git aware, with the new implementation I suspect querying git to revalidate the cache would take longer than just rebuilding it.


Looking up the hash of a tree in git is few enough operations that I would be very surprised if that is true for all but the smallest caches. If you were to shell out to the git binary, maybe.


> every method call is a string dict lookup

Doesn't the Python VM have inline caches? [0]

https://en.wikipedia.org/wiki/Inline_caching


I think that's a new thing from like python 3.12+ or something after I stopped using Python as much.

It didn't used to.

EDIT: python 3.11+: https://peps.python.org/pep-0659/


Nitpick, but France never left NATO proper, only the integrated command, and reintegrated it in 2008 under Sarkozy.


Sarkozy, who renamed what descended from De Gaulle's party into "Les Républicains" because of his obsession for the US. Who also got sponsored by Gaddafi, and invited him to pitch his tent in the Elysée's garden. And who ten years ago was still spewing climate change denial crap. He probably still would, but he's too busy talking about how his 10 days in prison was the most atrocious experience a human being had to endure.

Funny how much his pathetic 5 years in office keep on giving.


That's also something Rails helps abstract away by automatically deferring enqueues to after the transaction completed.

Even SolidQueue behave that way by default.

https://github.com/rails/rails/pull/51426


> The ideal situation with Rails would be if there is a simple way to switch back to Redis

That's largely the case.

Rails provide an abstracted API for jobs (Active Job). Of course some application do depend on queue implementation specific features, but for the general case, you just need to update your config to switch over (and of course handle draining the old queue).


You are describing bootsnap.

And yes I proposed to integrate bootsnap into bundler ages ago, but got told to go away.


Perhaps its time to try again - bootsnap is definitely stable enough now, which it really wasn't early on.


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

Search: