4 ms·
Performance of sequential Rust programs
- DannyBee 14y agoAs I just wrote on his blog, based on the GCC version he cites, it's not really GCC, it's LLVM with a GCC frontend. (plus, if it was really 4.2, it'd be a 5+ year old version) Not to mention, LLVM 2.9 is pretty old as well. Plus, you know, without explaining what options were used, it's impossible to tell anything about anything.
- codewright 14y agoI think this speaks to conscientious language design combined with the use of LLVM as a backend. Pretty excited about Rust, it's the best (virtually) no-compromise developing option for systems work. Curious to see where it starts to actually bite people as popular use grows. I really wish they'd put more effort into community/outreach though.
- drivebyacct2 14y ago/r/rust is great. Mozilla/#rust is great. I think a bit of it simply has to do with Rust's immaturity. For example, there are no real http libs client or server to speak of because the scheduler rewrite is blocking. Oh well, I get the impression that stuff is all simply a matter of time. Pcwalton's blog is great if you're interested in more rust stuff.
- codewright 14y agoI've spent some time in their IRC channel and tried to use the language at a few points. They're nice people but not really interested in helping anybody use the language that isn't an intern working on it. Or at least, that was the case at the time I was on Mozilla's IRC server. The language isn't positioned for wider use the way Go was when it was first announced.
- pcwalton 14y agoThat's because we announced the language earlier in its lifecycle than did Go, relatively speaking. (Graydon had initial designs for quite some time before development really started, which is why you sometimes hear that the language is older, but development didn't really start until 2009-2010.) We're definitely interested in helping people learn to use the language. Hence the tutorial, Niko's, Brian's, and my blog posts, and so on. Of course, the manual and learning material are in dire need of improvement in many areas; please bear with us, as it's a work in progress.
- codewright 14y agoOkay? But when is somebody going to fix the documentation and keep it in sync with the language's development? I've never once had a problem with Go's documentation and it started out as a relatively casual project that is more peripheral to Google's interests than Servo is to Mozilla's. Making a language be able to get picked up by the wider programming community means somebody has to spend time on things other than the compiler. Lots of time.
- pcwalton 14y agoI don't disagree. The documentation needs work. That said, the compiler needs a lot of work as well, as those who have used the language for any amount of time can attest to. Everyone sees the dreaded "internal compiler error" message. Everyone encounters borrow check and code generation bugs. Everyone misses a working package management system and pretty printer. Everyone bemoans the slowness of compilation for small programs. These are things you just didn't see for Go when it was announced--because it was Google-internal then. We intend to fix the documentation before calling it 1.0. But compilers are complex, especially for a language with a rich type system and a nontrivial static analysis built in (the borrow check). There are many things to do, from documentation to bug fixing to feature work (macros and default methods are unfinished) to tooling work. Note, however, that the code examples in the documentation are kept up to date and enforced via the test suite. So there may be inaccuracies in the prose, but we do perform automated quality control as best we can.
- dubcanada 14y agoDoes Rust have any kind of GUI stuff yet? Last time I looked it was just Cocoa wrappers.
- Game_Ender 14y agoAre you talking about a high level toolkit? Wrappers around the native platform API is the starting point for any GUI toolkit.
- dubcanada 14y agoSomething a bit more cross platform like wxWidgets or GTK (well sorta)
- stefantalpalaru 14y agoPlease stop using OS X as a benchmarking platform. It lacks an official package manager and you'll end up using very old software (GCC 4.2 is from 2007-2008) because it's hard to install recent versions.