3 ms·
Wow, what happened? I just went through a local Rust meetup in NYC and learned that Actix is one of fastest web frameworks across all languages and the huge pop
by devy 7y ago
Wow, what happened? I just went through a local Rust meetup in NYC and learned that Actix is one of fastest web frameworks across all languages and the huge popularity in IoT space. Can some one explain any concerns for this project's future like splits between ffmpeg / libav?
- M2Ys4U 7y agoThe author prioritised benchmarks and "creativity" in code rather than making sure the library was safe. That's fine, it was their code after all. However, many people saw that this was a caviller attitude to take, especially as it wasn't signposted, and gave the author grief for this. The problem was, though, that the cumulative effect of these "unsafe is bad, therefore you are bad" comments (which shouldn't have been made) was that the author was dismissive towards reports of actual unsafe behaviour in their library which could have caused security issues. The author got frustrated and moved the repos to his own personal account and left a patronising message in its place. Bare in mind that Atix had been built up as one of (if not the) best Rust libraries for HTTP servers, partly off the back of the benchmarks (for which safety had been sacrificed) and partly from the fact it ran on stable (non-nightly) Rust.
- ay 7y agoI tried to make sense of it and it didn’t seem to be that much more convenient compared to running iron + appropriate middleware packages (session storage; multipart; etc). They seem a bit “stale” but work absolutely fine. Source: 33KLOC stable rust web project.
- iudqnolq 7y agoWhere is rust being used for 33kLOC projects?
- steveklabnik 7y ago33kloc is pretty small; rustc is over a million lines of code, for example.
- geofft 7y agoThe tl;dr is that part of why Actix is so fast is that it takes an aggressive approach to the use of unsafe code blocks. This is not inherently a bad thing (Rust's own standard library is full of unsafe) as long as the APIs you expose on top are safe. Actix has drawn criticism multiple times over years for excessive use of unsafe; many times these criticisms have included findings that safe APIs can be misused. The primary author of Actix sees it more as project of intellectual curiosity - which is certainly a fine way to run a project, it's just a little at odds with the perception you (correctly) picked up of Actix being a flagship Rust framework and recommended for production use. He doesn't see unsafe code as something to be cautious about and hasn't prioritized removing unnecessary unsafe code, which puts him a bit at odds with the Rust community and also gave Actix a bit of a reputation of "the framework that's fast because it cheats" (which isn't totally fair but isn't totally unfair either). This weekend, someone found an unsound use of unsafe code, reported a bug, and eventually a patch was supplied that switches out some optimized Actix types for somewhat less optimized standard library types. The author dismissed the patch as "boring," the internet got mad, and the author got mad.