Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
byroot
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
22 ms
·
121.
▲
by
byroot
2y ago
That's exactly the joke though. Every time Ruby (or Python) is discussed on HN we get the same old tired question of "why don't they just rewrite in Rust". But that's some silly engineer tunnel vision, squeezing the
122.
▲
by
byroot
2y ago
Did what? Rewrite Instagram into another language? Do you have any source on this? Last time I checked they're working on improving Python performance instead (yes I know they forked it into Cinder, but they're trying to upstream
123.
▲
by
byroot
2y ago
That's pretty much what I'm hinting at at the end when I mention minor GC. I don't think doing it after each request would be sensible, but counter intuitively, the time it takes to run GC isn't proportional to amount of
124.
▲
by
byroot
2y ago
We're actually hoping to get mmtK included in Ruby to be able to use more advanced GCs. Medium term we hope to use Immix: https://bugs.ruby-lang.org/issues/20860 And yes, we're aware of ZGC &co https:&#x
125.
▲
by
byroot
2y ago
> something no allocation strategy can fix Well, yes, with a GC when your heap is full, you make space by getting rid of the garbage. Also, with a good GC, allocating is most of the time just bumping a pointer, exactly like an arena, and
126.
▲
by
byroot
2y ago
Depends, it's not just about access time and GC pressure, it's also about sharing that cache with other processes on the node.
127.
▲
by
byroot
2y ago
Meta is just a small startup though, they probably don't have enough resources nor the skills to switch to a better language even after they've heard the gospel.
128.
▲
by
byroot
2y ago
I don't see how it is imperfect. Per request arenas sound super cool on paper, and work very well on system with clear constraints. But if suddenly a request start allocating more than the arena can accommodate you're in a bit of
129.
▲
by
byroot
2y ago
Author here. Agreed. We have some facility for out of process caching (node local memcached), and I frequently have to argue with colleagues that it's generally preferable to in-process caching.
130.
▲
by
byroot
2y ago
#include "pretty.h" void print_int(int value){ println(value); } int main (int argc, string argv[]) { long value = 23849234723748234; print_int(value); } How is this strongl
131.
▲
by
byroot
2y ago
Well, as a starter C is rarely considered as "strongly typed". Statically typed yes, but strongly typed not so much.
132.
▲
by
byroot
2y ago
Yes. But just for the Action Cable parts, as in you'd deploy Action Cable standalone with falcon, and then keep Puma or whatever for the purely transactional requests. If you don't, you'll notice that your Action Cable latenc
133.
▲
by
byroot
2y ago
> getting http/2 and streaming into Rails has been a slow and tedious process Bringing http/2 all the way to the Rails process doesn't bring anything to the table. You're much better to terminate http2 or 3 with SSL a
134.
▲
by
byroot
2y ago
> They don't know it yet, This is so condescending... We perfectly know about the pros and cons of the fiber scheduler. It's a very useful stack, but people, and you in particular, really need to stop selling it like it's
135.
▲
by
byroot
2y ago
There's plenty of reports of YJIT lowering real world Rails applications latency by 15-30%. There is also plenty of perfectly snappy Rails applications out there. People need to stop blaming the framework...
136.
▲
by
byroot
2y ago
So first it's a bit annoying to read this when I busted my ass for several weeks to refactor Active Record to make it more compatible with the Fiber use case in 7.2. But also there is very little benefit to it for the vast majority of
137.
▲
by
byroot
2y ago
> It sounds a little bit like 4-D chess now that I type it out, I'm not sure I believe it myself. The thing is with Macron, he managed to make the journalist class believe he's a genius (he's not dumb, but still miles away
138.
▲
by
byroot
2y ago
> maybe his goal was to defang Le Pen's party by letting the French people see what they'd do with power before the election in 2027 That's what he said in private at some point, but that wasn't his initial plan. We h
139.
▲
by
byroot
2y ago
> securing himself a surprise victory in the snap election everyone thought would be a disaster for him. This is totally incorrect. Macron's party arrived 3rd in number of seats when previously it had a relative majority. He lost ov
140.
▲
by
byroot
2y ago
If you read TFA, you'd have seen this problem isn't exclusive to Ruby at all, several other languages have a similar API.
141.
▲
by
byroot
2y ago
Yes, MongoHQ, later renamed compose.io: https://en.wikipedia.org/wiki/Compose.io
142.
▲
by
byroot
2y ago
That depends on how the `maxmemory-policy` is configured, and queue systems based on Redis will tell you not to allow eviction. https://github.com/sidekiq/sidekiq/wiki/Using-Redis#memory (it even logs a warni
143.
▲
by
byroot
2y ago
You are thinking of method_missing. It’s an entirely different thing.
144.
▲
by
byroot
2y ago
> Raising an error when at runtime you call a nonexistent method is native Ruby behavior, so why write methods that say "I don't exist"? Well, first for documentation as you pointed. Second because otherwise the error is a
145.
▲
by
byroot
2y ago
> thus compilation - happen at runtime, anytime, always. To be a bit pedantic, you can compile Ruby code with `RubyVM::InstructionSequence.compile`, and then dump and load it as a String. That's one of the things Bootsnap does to sp
146.
▲
by
byroot
3y ago
Yeah, that's definitely not a Rails-specific problem.
147.
▲
by
byroot
3y ago
Not sure how long you were there nor which team you were on, but as someone who's still working on Shopify infra after a decade, I disagree with you. Scaling problems at Shopify are rarely if ever directly Rails related. The biggest ch
148.
▲
by
byroot
3y ago
> I think perhaps the ruby community was also smaller Back in 2008-2010 when Python 3 was released, Python really wasn't as huge as it is today. It probably was bigger than Ruby, but not by that much. One datapoint (that doesn'
149.
▲
by
byroot
3y ago
Almost all of the issues mentioned in this post were during 1.8 -> 1.9 transition. At that time odd release numbers where development versions, until this policy changed a bit later and 1.9 became an actual "GA" release. The 1.
150.
▲
by
byroot
3y ago
> What is wrong with accepting a simple ground truth Where am I denying that? Saying that one of the most dynamic language is slower than Java or Go it's such a truism it's pointless. What annoys me is the figures quoted. I can
More ›