>purpose made software performs better than a generic webserver
who would've thonkt
the real reason they used rust is because all new devs are learning it and not c these days
to be honest i'm not really sure. i work with one such guy currently. he's technically a c++ guy but says he wants to learn rust because of safety features and less feature creep. i assume a lot of people are in the same boat.
2 years ago
Anonymous
Seems tricky to distinguish "they are using it because people are learning it because it's good" from "they are using it because it's good"
2 years ago
Anonymous
it's really not. imagine you're a fresh graduate and don't want to be webshitter. you look at the languages available to you and realize that c and c++ are old and in case of c++ there is a lot of bloat (or features depending on who you ask) so you do some searching and find that a lot of people are enthusiastic about rust, and a lot of projects are being written in it. regardless of whether it's a good upgrade or not you would obviously pick rust to avoid headache that is c/c++ (even if it really isn't and you just think that it is).
2 years ago
Anonymous
Do you have specific reasons to think they're wrong?
2 years ago
Anonymous
i don't know rust well enough to have an opinion on it. all i know that c/c++gets the job done. rust might be more efficient but i doubt that it offers significant enough of an upgrade to warrant everyone to switch to it. also, there is no standard so if you want to be a corporate drone you should probably learn something else.
2 years ago
Anonymous
>rust might be more efficient but i doubt that it offers significant enough of an upgrade to warrant everyone to switch to it.
it does. no matter how many tools you try to use like static analysis and linters, you'll never come close to what other languages like it can offer out of the box
2 years ago
Anonymous
Everybody shouldn't just drop what they're doing and switch to it, but it really is a big upgrade. When you're writing software from scratch anyway (like here) it's very often a good choice, unless library support and the like prevents it. >there is no standard
This is not a dealbreaker. There are multiple languages in the TIOBE top 10 without a standard.
Surely some corporations care about it but many don't.
2 years ago
Anonymous
>there is no standard so if you want to be a corporate drone you should probably learn something else
There are very few areas where a language being rigorously standardized is actually useful. If your company is developing software that needs to run on a shit load of different embedded systems, then it makes sense. Otherwise, you're almost certainly going to be tying yourself to a specific implementation, so you don't care, or you're writing desktop software, where the standards are virtually useless because GCC and Clang don't follow them closely.
2 years ago
Anonymous
i'm not a new grad. i'm currently writing C and Rust at work, and previously did C++ and Java, all at FAANG. i'm learning Rust despite its insufferable community because it's strictly better than keeping up with the C++ churn. additionally, there are just too many cool projects being written in it and the corpos decided that it's the future.
2 years ago
Anonymous
>despite its insufferable community
they only people i see who say this are on IQfy and IQfy is a shit community full of larpers
2 years ago
Anonymous
naw man, every other Rust blog is written by some permanently-online Twitterati, or a furry, or both. did you see an e-girl presenting as an anime avatar at Rustconf? probably the best Rust blog i follow is fasterthanlime and i have to grit my teeth to get through his cringe le reddit-tier humor. at least the information is good.
2 years ago
Anonymous
i don't spend time on twitter so i don't follow any of their social bullshit, and don't watch rustconf talks unless it's something i'm interested in, i ignore that guy in the video. the community is great for anything i do that involves writing code or asking/answering questions. the people you're complaining about are more exceptions than the norm and they exist in everything for programming now.
2 years ago
Anonymous
I just don't care about these people. Life is too short, anon. I care about the tech. If these people are good, then I'll listen. If they're stupid, then I won't. Simple as.
2 years ago
Anonymous
>https://thephd.dev/
Behold, the WG14 project editor, A.K.A. ISO C. He is both terminally on twitter and a furry.
i don't know rust well enough to have an opinion on it. all i know that c/c++gets the job done. rust might be more efficient but i doubt that it offers significant enough of an upgrade to warrant everyone to switch to it. also, there is no standard so if you want to be a corporate drone you should probably learn something else.
>there is no standard so if you want to be a corporate drone you should probably learn something else.
Standards for languages like C and C++ are written in English prose without so much as a compiler validation test suite, something Java has despite it having no formal standard. Likewise, the languages use by proof assistants (e.g. Coq, Isabelle/HOL, Lean, etc) also lack any standardization whatsoever, yet they are more rigorously defined than C(++) could ever hope to be.
The fact is that an official standards body like ISO or ECMA is of little value if not actively harmful! The Itanium ABI spec didn't need ISO neither does DWARF, Unicode, OpenMP/OpenACC, OpenCL/SYCL, OpenGL/Vulkan, GLSL/HLSL, CUDA/HIP/ROCm, etc. Organizations like ISO are an absolute joke!
2 years ago
Anonymous
Standards have one important use: reducing fragmentation.
POSIX for example is awful but not having it would be way worse. If I follow it in all its misery I'll probably be portable, with only niche exceptions like pax and the more demented parts of sh.
2 years ago
Anonymous
>Standards have one important use: reducing fragmentation.
I'm not ranting against standards in principle. Rather, I'm saying that formal standardization bodies like ISO and ECMA add little value and huge overhead. The quality and usefulness of the standard depends on those writing it. Standards like UEFI or OpenMP wouldn't be better off with an ISO standard or equivalent, their informal community driven approaches are fine. >POSIX for example is awful but not having it would be way worse.
Isn't that the world we are living in? If I want to draw anything to a screen or do anything highly asynchronous, POSIX does not help me. If I want portability across modern mainstream platforms, POSIX does not help me. Etc
2 years ago
Anonymous
>Standards have one important use: reducing fragmentation.
and yet we have the situation of clang, gcc, and msvc
2 years ago
Anonymous
Do you want compiler monoculture shitbrains
2 years ago
Anonymous
i don't see a benefit. most of the progress comes from company sponsored developers, and they choose to not implement aspects of the standard. what does that get me?
2 years ago
Anonymous
show me all the codecases that are strictly iso c or c++ without any compiler extensions and that are cross-platform windows, mac, and linux
Nginx isn't perfectly optimized for cloudflares very specific use case.
Isn't designed for CDN level
They used lua and C for their extensions because they got filtered making their instance of nginx slower and have to deal with the burden of context switching >Rust fanatics >cniles BTFO hur dur
Cloudflare has chosen the wrong technology for their use case so often the only explanation is they do it on purpose so they can have a big press release about how they're doubling performance with whatever new technology they've chosen.
It's gonna be the same with Workers in a couple of years, they're slower than almost all of their competitors who mostly built custom solutions instead of repurposing V8.
They have to make that stock go up somehow what better way than sandbagging yourself and then tactically removing self imposed limitations. They don't have to do work and get the illusion of progress.
I mean. Nginx is a web server plus proxy. If they want an L7 HTTP proxy, unlike Haproxy, which is an L4 proxy, they are free to write one to cut off parts that aren't required for HTTP proxying, caching and TLS termination.
Moreover, Igor Sysoev has got the cash already by selling Nginx to some network providers while it was at its peak. All is good.
It's not that. But you're right that it's because of architectural changes.
On a fundamental level Rust and C are basically equivalent, there are actually translators in both directions. But Rust lets you attempt more daring optimizations because it can check your work for you. Their new version has more sophisticated parallelism, nginx only puts simple data behind a mutex. That lets them reuse far more connections.
Other big gains come from dropping Lua, which they probably used in the first place because it's less error-prone than C.
It's funny, in complex systems safety features can indirectly increase performance because you can let your guard down.
For some reason nobody linked the blog post: https://blog.cloudflare.com/how-we-built-pingora-the-proxy-that-connects-cloudflare-to-the-internet/
No one in this thread gets it.
Unless they release this shit as open source, no one can verify their claims.
Cloudflare has some interest in pretending they are doing cutting-edge, innovative research to misdirect from the fact they are effectively a federal government-funded Internet scale MiTM attack, that is also operating their anti-DDoS service as a protection racket.
They open source a ton of shit, including Rust shit, and their claims really aren't outlandish if you actually read them. (Much of their nginx solution was written in Lua with expensive FFI! Of course this is more efficient!)
I think you're grasping for straws. You already have very good reasons for hating Cloudflare, just stick to those instead of hypothesizing elaborate hoaxes that wouldn't even interest that many people.
2 years ago
Anonymous
>Much of their nginx solution was written in Lua with expensive FFI
so it was opening a subprocess for each function call to a program written in a interpreted/JIT language. holy crony moronation wtf
the absolute power of QE money flushed down the drain kek
2 years ago
Anonymous
>so it was opening a subprocess
No, that's IPC, not FFI. Lua is made for embedding, and embedding it in nginx is very standard.
The article talks about the overhead from copying strings in and out, that's the sort of thing you should be thinking of.
2 years ago
Anonymous
although the VM would still be running alongside it, you're right. the memory thrashing must be insane at botnet size
2 years ago
Anonymous
also Lua is faster (the fastest?) than other scripting languages but this is pushing it https://github.com/openresty/lua-nginx-module#synopsis
not only in raw perf but the constant mishmash between dialects
unrelated to cloudflare controversy but how do you anons prevent your sites from being hit by ddos attacks? i've just been proxying traffic through aws but i do not believe this is even close to the ideal solution.
>Since Pingora's inception we’ve served a few hundred trillion requests and have yet to crash due to our service code. >In fact, Pingora crashes are so rare we usually find unrelated issues when we do encounter one. Recently we discovered a kernel bug soon after our service started crashing. We've also discovered hardware issues on a few machines, in the past ruling out rare memory bugs caused by our software even after significant debugging was nearly impossible.
wew
> NGINX is a very good web server, load balancer or a simple gateway. But Cloudflare does way more than that.
This doesn't really have anything to do with NGINX, NGINX isn't bad. It's more that Cloudflare has a use case that NGINX wasn't designed for, and as a result they are writing their own software.
>memory safety
I don't see how that will be faster than ngin... >c like performance
Oh, so they turned safety off AND have fewer libs available because of their language choice
Burning glow money so it's good thing I guess
Nobody cares about Cloudflare engineers' sexual orientation.
>Yet another reverse proxy
That's the fourteenth this week.
This explains their response to the Keffals Krusade.
GO BACK TO KIWIFARMS. YOU AREN'T WELCOME HERE.
there's no kiwifarms, that makes me welcome here.
>GO BACK TO KIWIFARMS. YOU AREN'T WELCOME HERE.
no
i can smell the rotting axewound from here
>In production, Pingora consumes about 70% less CPU and 67% less memory compared to our old service with the same traffic load.
Cniles BTFO
>morons write moronic soiware
>This is based C's problem
Most programmers are moronic, they can't even do "Hello, world" in C. This is to be expected.
#include <stdio.h>
int main() {printf(
"Hello worldn")
;return 0;}
>printf
as I said, moron
Shit works, though.
Oops, no more ExPeRt PrOgRaMmErS anymore. ;_;
What screenshot utility is that?
DO NOT read the filename
>rust trannies are halfway competent
There's no way to spin this kek
If one craftsman can't use a tool, he's a shitty craftsman. If almost nobody can use a tool, it's a shitty tool.
>nginx is moron software
>linux is moron software
has it never occurred to you thataybe the tool is shit?
Lmao lets see you write a better nginx. Protip you can't
nginx is developed practically closed source
that's it, I give up; I'm learning rust
*cuts individual toes into socks*
>purpose made software performs better than a generic webserver
who would've thonkt
the real reason they used rust is because all new devs are learning it and not c these days
Why are all new devs learning it?
to be honest i'm not really sure. i work with one such guy currently. he's technically a c++ guy but says he wants to learn rust because of safety features and less feature creep. i assume a lot of people are in the same boat.
Seems tricky to distinguish "they are using it because people are learning it because it's good" from "they are using it because it's good"
it's really not. imagine you're a fresh graduate and don't want to be webshitter. you look at the languages available to you and realize that c and c++ are old and in case of c++ there is a lot of bloat (or features depending on who you ask) so you do some searching and find that a lot of people are enthusiastic about rust, and a lot of projects are being written in it. regardless of whether it's a good upgrade or not you would obviously pick rust to avoid headache that is c/c++ (even if it really isn't and you just think that it is).
Do you have specific reasons to think they're wrong?
i don't know rust well enough to have an opinion on it. all i know that c/c++gets the job done. rust might be more efficient but i doubt that it offers significant enough of an upgrade to warrant everyone to switch to it. also, there is no standard so if you want to be a corporate drone you should probably learn something else.
>rust might be more efficient but i doubt that it offers significant enough of an upgrade to warrant everyone to switch to it.
it does. no matter how many tools you try to use like static analysis and linters, you'll never come close to what other languages like it can offer out of the box
Everybody shouldn't just drop what they're doing and switch to it, but it really is a big upgrade. When you're writing software from scratch anyway (like here) it's very often a good choice, unless library support and the like prevents it.
>there is no standard
This is not a dealbreaker. There are multiple languages in the TIOBE top 10 without a standard.
Surely some corporations care about it but many don't.
>there is no standard so if you want to be a corporate drone you should probably learn something else
There are very few areas where a language being rigorously standardized is actually useful. If your company is developing software that needs to run on a shit load of different embedded systems, then it makes sense. Otherwise, you're almost certainly going to be tying yourself to a specific implementation, so you don't care, or you're writing desktop software, where the standards are virtually useless because GCC and Clang don't follow them closely.
i'm not a new grad. i'm currently writing C and Rust at work, and previously did C++ and Java, all at FAANG. i'm learning Rust despite its insufferable community because it's strictly better than keeping up with the C++ churn. additionally, there are just too many cool projects being written in it and the corpos decided that it's the future.
>despite its insufferable community
they only people i see who say this are on IQfy and IQfy is a shit community full of larpers
naw man, every other Rust blog is written by some permanently-online Twitterati, or a furry, or both. did you see an e-girl presenting as an anime avatar at Rustconf? probably the best Rust blog i follow is fasterthanlime and i have to grit my teeth to get through his cringe le reddit-tier humor. at least the information is good.
i don't spend time on twitter so i don't follow any of their social bullshit, and don't watch rustconf talks unless it's something i'm interested in, i ignore that guy in the video. the community is great for anything i do that involves writing code or asking/answering questions. the people you're complaining about are more exceptions than the norm and they exist in everything for programming now.
I just don't care about these people. Life is too short, anon. I care about the tech. If these people are good, then I'll listen. If they're stupid, then I won't. Simple as.
>https://thephd.dev/
Behold, the WG14 project editor, A.K.A. ISO C. He is both terminally on twitter and a furry.
>there is no standard so if you want to be a corporate drone you should probably learn something else.
Standards for languages like C and C++ are written in English prose without so much as a compiler validation test suite, something Java has despite it having no formal standard. Likewise, the languages use by proof assistants (e.g. Coq, Isabelle/HOL, Lean, etc) also lack any standardization whatsoever, yet they are more rigorously defined than C(++) could ever hope to be.
The fact is that an official standards body like ISO or ECMA is of little value if not actively harmful! The Itanium ABI spec didn't need ISO neither does DWARF, Unicode, OpenMP/OpenACC, OpenCL/SYCL, OpenGL/Vulkan, GLSL/HLSL, CUDA/HIP/ROCm, etc. Organizations like ISO are an absolute joke!
Standards have one important use: reducing fragmentation.
POSIX for example is awful but not having it would be way worse. If I follow it in all its misery I'll probably be portable, with only niche exceptions like pax and the more demented parts of sh.
>Standards have one important use: reducing fragmentation.
I'm not ranting against standards in principle. Rather, I'm saying that formal standardization bodies like ISO and ECMA add little value and huge overhead. The quality and usefulness of the standard depends on those writing it. Standards like UEFI or OpenMP wouldn't be better off with an ISO standard or equivalent, their informal community driven approaches are fine.
>POSIX for example is awful but not having it would be way worse.
Isn't that the world we are living in? If I want to draw anything to a screen or do anything highly asynchronous, POSIX does not help me. If I want portability across modern mainstream platforms, POSIX does not help me. Etc
>Standards have one important use: reducing fragmentation.
and yet we have the situation of clang, gcc, and msvc
Do you want compiler monoculture shitbrains
i don't see a benefit. most of the progress comes from company sponsored developers, and they choose to not implement aspects of the standard. what does that get me?
show me all the codecases that are strictly iso c or c++ without any compiler extensions and that are cross-platform windows, mac, and linux
yeah, people seem to be fed up with c++.
>drop 70% of traffic
>use less cpu and memory
I know 4chin users can't read but that's just funny
The troony that wrote this must have made delisting kiwifarms a condition to let cloudflare had it
Nginx isn't perfectly optimized for cloudflares very specific use case.
Isn't designed for CDN level
They used lua and C for their extensions because they got filtered making their instance of nginx slower and have to deal with the burden of context switching
>Rust fanatics
>cniles BTFO hur dur
Cloudflare has chosen the wrong technology for their use case so often the only explanation is they do it on purpose so they can have a big press release about how they're doubling performance with whatever new technology they've chosen.
It's gonna be the same with Workers in a couple of years, they're slower than almost all of their competitors who mostly built custom solutions instead of repurposing V8.
They have to make that stock go up somehow what better way than sandbagging yourself and then tactically removing self imposed limitations. They don't have to do work and get the illusion of progress.
this is the correct take on this
rust fanatics are so easily excited, jeez
I mean. Nginx is a web server plus proxy. If they want an L7 HTTP proxy, unlike Haproxy, which is an L4 proxy, they are free to write one to cut off parts that aren't required for HTTP proxying, caching and TLS termination.
Moreover, Igor Sysoev has got the cash already by selling Nginx to some network providers while it was at its peak. All is good.
>70% less CPU
>67% less memory
There is no fricking way in hell they managed to get this much improvement due to the language change.
It's obviously due to removing a ton of unnecessary features that, for a company processing that many requests, would make tremendous difference.
they are even lying like glowBlack folk now
It's not that. But you're right that it's because of architectural changes.
On a fundamental level Rust and C are basically equivalent, there are actually translators in both directions. But Rust lets you attempt more daring optimizations because it can check your work for you. Their new version has more sophisticated parallelism, nginx only puts simple data behind a mutex. That lets them reuse far more connections.
Other big gains come from dropping Lua, which they probably used in the first place because it's less error-prone than C.
It's funny, in complex systems safety features can indirectly increase performance because you can let your guard down.
For some reason nobody linked the blog post: https://blog.cloudflare.com/how-we-built-pingora-the-proxy-that-connects-cloudflare-to-the-internet/
They made NGINX sound like a piece of shit when it's arguably the best free web server out there. Ungrateful homosexuals.
it can be both (and it is)
they are running it with Bluefield DPUs, it's very possible actually
>Bluefield DPU
What are these for? I tried Googling but just got pages of bullshit buzzwords.
https://www.servethehome.com/what-is-a-dpu-a-data-processing-unit-quick-primer/
Thanks
and in a few short years, cloudflare becomes unimaginably shit and slow yet again
the moron cycle continues
And is it open source? No?
Sounds like the schizos saying Rust/LLVM is a trojan horse for proprietary software were right.
>We will also be back with our plan to open source it.
they plan on it. they open source a lot anyway
https://github.com/cloudflare
For me? It's Caddy
as opposed to their previous in-house solution that doesn't exist
ok
No one in this thread gets it.
Unless they release this shit as open source, no one can verify their claims.
Cloudflare has some interest in pretending they are doing cutting-edge, innovative research to misdirect from the fact they are effectively a federal government-funded Internet scale MiTM attack, that is also operating their anti-DDoS service as a protection racket.
and when it's open sourced then what will the goalposts be?
It won't be. The CEO is a serial liar and he will make up some story that, "they can't open source it because the bad guys will use it, bla bla bla"
Screencap this
They open source a ton of shit, including Rust shit, and their claims really aren't outlandish if you actually read them. (Much of their nginx solution was written in Lua with expensive FFI! Of course this is more efficient!)
I think you're grasping for straws. You already have very good reasons for hating Cloudflare, just stick to those instead of hypothesizing elaborate hoaxes that wouldn't even interest that many people.
>Much of their nginx solution was written in Lua with expensive FFI
so it was opening a subprocess for each function call to a program written in a interpreted/JIT language. holy crony moronation wtf
the absolute power of QE money flushed down the drain kek
>so it was opening a subprocess
No, that's IPC, not FFI. Lua is made for embedding, and embedding it in nginx is very standard.
The article talks about the overhead from copying strings in and out, that's the sort of thing you should be thinking of.
although the VM would still be running alongside it, you're right. the memory thrashing must be insane at botnet size
also Lua is faster (the fastest?) than other scripting languages but this is pushing it https://github.com/openresty/lua-nginx-module#synopsis
not only in raw perf but the constant mishmash between dialects
unrelated to cloudflare controversy but how do you anons prevent your sites from being hit by ddos attacks? i've just been proxying traffic through aws but i do not believe this is even close to the ideal solution.
how many days until cloudflare 41%s itself?
Who would have thought that a specialized program is faster at its workload than a more general program
>Since Pingora's inception we’ve served a few hundred trillion requests and have yet to crash due to our service code.
>In fact, Pingora crashes are so rare we usually find unrelated issues when we do encounter one. Recently we discovered a kernel bug soon after our service started crashing. We've also discovered hardware issues on a few machines, in the past ruling out rare memory bugs caused by our software even after significant debugging was nearly impossible.
wew
Cue their support being flooded by millions of indians trying to get it to work for their shitty blog that gets like 2 views a month max.
>PINGOra
Jajajajajajaja hermanos
> NGINX is a very good web server, load balancer or a simple gateway. But Cloudflare does way more than that.
This doesn't really have anything to do with NGINX, NGINX isn't bad. It's more that Cloudflare has a use case that NGINX wasn't designed for, and as a result they are writing their own software.
not gonna stop using nginx just because of rustie agitprop
Its not like you can use their implementation, its proprietary, frick off.
cniles on suicide watch
>memory safety
I don't see how that will be faster than ngin...
>c like performance
Oh, so they turned safety off AND have fewer libs available because of their language choice
Burning glow money so it's good thing I guess
> they turned safety off
Source?
Simple deduction
>fast
>safe
Pick one
Rust can't do both at the same time
A well known fact
A common misconception. You won't need a lot of that in a HTTP server, if any.
t. has read hyper source code
>A well known fact
Interesting, I have yet to hear it.
>fell for the C++ committee israeli tricks
actix-web needed almost no unsafe to be fast, the dev was only using it everywhere because he was a sepples boomer
>replace nginx with pidora
what did they mean by that