HackerTrans
トップ新着トレンドコメント過去質問紹介求人

likeabbas

no profile record

コメント

likeabbas
·先月·議論
Async ruined rust and I’ll stand by that until I die
likeabbas
·3 か月前·議論
I haven’t moved any goal posts - I’ve coded async rust and is miserable compared to normal rust with threads. That has been my point which is why I started down this project.

My entire goal is to show that coding the same server with pre-async hyper vs post async hyper is nicer and more performant than async rust. I hope to show you it in just a few days.
likeabbas
·3 か月前·議論
Yes - brain fart.
likeabbas
·3 か月前·議論
You literally can't use one of the other async run times because of the current state of async/await does not allow library authors to easily write for multiple runtimes - they were written for one runtime in mind and that is just tokio. And if you're pulling in library methods you're still stuck with the method headers they specify.

All of your arguments are just mental workarounds trying to justify how fucked the rust ecosystem is for traditional backend services.

The project I'm working on is specific to making traditional kernel threads faster (150-200 nanosecond context switches compared to 1500-2000 nano seconds for normal kernel threads). It requires a user scheduler but you can swap those out without any changes to how you write rust. In my testing, it's not only faster than async rust but also much easier to write. I hope it convinces people like you, that are hell-bent on defending the current state of async rust, that there are better paradigms and we don't have to be locked in to shitty, verbose concurrent code.
likeabbas
·3 か月前·議論
I completely disagree. Having to make sure every little function is Send + Sync + lifetime even if it doesn't need it is fucking hell. writing concurrent code with plain kernel threads is so much easier to write and read.

If you just want to build a normal backend service, you can't escape async libraries. Wrapping the async functions with `block_on` is not ideal I'd rather just have access to standard sync primitives that don't need me to bring an entire async runtime into the system.

My ultimate point is - I would be happy if async stayed in its own world. But the fact is async has completely polluted the rust library landscape and you can't escape it. I'm working on a project that I hope to show rust users that async isn't needed for performant backend services, and that the code can be written much simpler without it.
likeabbas
·3 か月前·議論
Thank you for this! This is really helpful.

The UMCG implementation allows kernel thread context switches to happen in 150-200 microseconds, compared to the 1500-2000 microseconds for normal kernel thread context switches. My goal is to show that if UMCG could be merged into the Linux run time then then it would be competitive with async rust without the headache.
likeabbas
·3 か月前·議論
you’re talking to the core of the issue. In no other language did they try to satisfy the case of running on an embedded system vs general purpose computing. Async rust tried to, and came up with a solution that is not great for the majority of programmers writing rust.

I wish to God that the rust library devs would admit to this fact - say that async rust should stay for embedded runtimes usecases, but we shouldn’t be forcing async across the majority of general purpose computing libraries. It’s just not a pleasant experience to write nor read. And it really doesn’t give any performance benefits.
likeabbas
·3 か月前·議論
I'll have to check my work computer on Monday. It was 8 cpu virtual machine on a m1 Mac. the UMCG and normal threads were 1024 set on the server, the Tokio version was 2 threads per core. Just from the top of my head - the I/O bound requests topped out around 40k/second for the Tokio version, 60k/second for the normal hyper version, and 80k/second for the UMCG hyper version.

I'm pretty close to being done - I'm hoping to publish the entire GitHub repository with tests for the community to validate by next week.

UMCG is essentially an open source version of Google Fibers, which is their internal extension to the linux core for "light weight" threads. It requires you to build a user space scheduler, but that allows you to create different types of schedulers. I can not remember which scheduler showed ^ results but I have at least 6 different UMCG schedulers I was testing.

So essentially you get the benefits of something like tokio where you can have different types of schedulers optimized for different use cases, but the power of kernel threads which means easy cancellation, easy programming (at least in rust). It's still a linux thread with an entire 8mb(?) stack size, but from my testing it's far faster than what Tokio can provide, without the headache of async/await programming.
likeabbas
·3 か月前·議論
I have some test code that runs a comparison of Hyper pre-async (aka thread per request) vs async (via Tokio), and the pre-async version is able to process more requests per second in every scenario (I/o, CPU complex tasks, shared memory).

I'll publish my results shortly. I did these as baselines because I'm testing finishing the User Managed Concurrency Groups proposal to the linux kernel which is an extension to provide faster kernel threads (which beat both of them)
likeabbas
·3 年前·議論
Do you have any evidence of this? The IC can refer you to the justice department on his own if you've lied to him/her.
likeabbas
·3 年前·議論
Even still, you’ve completely ignored the other half of my comment. Grusch is alleging specific people and corporations are involved in illegal activities. The corporations should have no trouble suing Grusch for false accusations and defamation, which in this case would be equivalent to jail time. So even if congress didn’t refer him to the justice department for perjury, those corporations absolutely will sue Grusch if he’s lying.
likeabbas
·3 年前·議論
You are so wrong. This thing is picking up major steam. https://www.democrats.senate.gov/newsroom/press-releases/sch...
likeabbas
·3 年前·議論
That’s why congress needs to send a special envoy to investigate, and from what I’ve read they are looking into doing so. Ross Coulthart likely did not get this information from David Grusch btw.
likeabbas
·3 年前·議論
Whatever it may end up being, I think it’s imperative that congress investigate this because of what you’re saying is true then this is not good for the American people to be led on like this.
likeabbas
·3 年前·議論
I used to think most politicians were cooks. Now I realize most of them are very smart and have very different private opinions from the ones they scream at their base. This topic is a good example of showing how intelligent some congressmen (who you thought were crazy) are. For example https://twitter.com/cspan/status/1684249806300905480?s=46&t=...
likeabbas
·3 年前·議論
They didn’t. Supposedly It crashed or landed and they built a building over it.
likeabbas
·3 年前·議論
Well, he’s alleged that whoever is apart of the conspiracy has killed to protect this secret. Perhaps people have been too afraid to whistleblower because their lives were at stake
likeabbas
·3 年前·議論
Don’t you think congress should investigate these crazy people then?
likeabbas
·3 年前·議論
There’s a report that one of these craft are so large that it can’t be moved https://youtu.be/r-zjLas_WbM
likeabbas
·3 年前·議論
You are 100% correct that this could be a giant psy-op constructed to convince people of something insane like aliens. From what I’ve heard, the ICIG has gotten testimony under oath from people purported to be apart of the reverse engineering programs, and they have provided locations and photo evidence. There’s also a report that one of these craft are [so large that it can’t be moved](0). Congress could send a special envoy to investigate this and find out right now if this is a ruse or not. Do you think they should?

[0] https://youtu.be/r-zjLas_WbM