3 ms·
The title is asking a very quantifiable question. And I was hoping the article would be a summary of expertise and deep dives the author took into various langu
by whateveracct 3y ago
The title is asking a very quantifiable question. And I was hoping the article would be a summary of expertise and deep dives the author took into various language's runtimes.
But then I read
> With a little help from ChatGPT
And sure enough the results & prose end up pretty much worthless. Because the author didn't do any actual critical thinking or technical work. (For instance, there's nothing more to "Go's memory usage ballooned at 1M tasks" beyond the observation. Why not? Just dig in there it's all documented you just have to read some stuff.)
- lexandstuff 3y agoDo you mind sharing why Go ballooned to 1M?
- pkolaczk 3y agoBecause goroutine stacks start at minimum 2 kB. But it is not obvious if this is the only factor that contributes to memory usage so I believe experimenting to verify theory is still quite valuable.
- faizshah 3y agoIt’s also really strange using python and node in an article about concurrency without mentioning the GIL (python) or node single threading.
- whateveracct 3y agoThat's what happens when you write a blog about a technical topic you don't know much of anything about I guess
- Too 3y agoThe whole idea of async functions is to run tasks concurrently and with simple syntax on a single thread. Hiding the actual concurrency under the runtime, only when it is waiting for IO. It doesn’t matter that node is single threaded, nor does the GIL have any impact on single thread. It’s once you start doing cpu heavy work inside the tasks this will hit you.
- yencabulator 3y agoNo, the single-thread aspect is just a limitation of Python & Node. Rust's Tokio is an example of a multithreaded async framework.
- pkolaczk 3y agoGIL is not a problem for concurrency. It is a problem for parallelism when doing CPU bound work.