5 ms·
SimpleChains.jl/LoopVectorization.jl author here, and a co-author of the blog post. I love working on performance. It's fun and challenging. Trying to best hig
by celrod 4y ago
SimpleChains.jl/LoopVectorization.jl author here, and a co-author of the blog post.
I love working on performance.
It's fun and challenging. Trying to best high scores (times/benchmarks) is fun and gamifies it.
Personally, I answer tons of questions online (e.g. the Julia discourse and Slack) related to things like SIMD because I find it fascinating and want to share this excitement with others.
Same thing when it comes to a blog post or announcing a package; I focus on what motivates me most.
- blindseer 4y agoChris, your work is phenomenal and I super appreciate everything you do. I think my comment was mainly that if I were viewing it objectively (for example, knowing nothing about Julia), I think a lot of Julia's evangelizing comes off too strong. This is definitely not directed at you btw, but just that the community as a whole is just overly positive and ONLY positive. For example, if you search for Rust on hacker news or even browse /r/rust, you'll need 80-90% pro rust, but you will also definitely see another 10-20% of posts being very critical about Rust. And these critical posts are even from prominent members of the Rust community. Additionally, there's a roadmap for Rust posted very often. In Julia however, I can count the number of "negative" Julia posts I've seen on one hand. Don't get me wrong, I really like Julia, but there are A LOT of things that need to be improved that I know about and probably more that I don't even realize. It would be nice to have experts post and comment on that, and the core Julia members describe how they are going to tackle that. IMO, that discussion does happen, but it is largely on Slack and forever lost to Slack's history.
- amkkma 4y agoAs a Julia evangelist, your point is well received. I've definitely been making an effort to temper any discussion of benefits with associated drawbacks. Though, I just want to express WHY I'm so enthusiastic. I've used both R and Python for DS. I'm familiar a bit with matlab. I've played with Keras and Pytorch. Aside from all the technical and productivity benefits Julia just feels GOOD to write in, compared to all of the above. It's a real quality of life improvement + a feeling of freedom in that I can express my ideas, compose them with others all without worrying about a different compiler or framework or array type system or having to code units in c++. This is freeing and honestly, it would be sad if it's relegated to niche status forever. There's definitely a selfish component here, but I'd like everyone to feel the same benefits. It's hard to go back to pandas or tf or pytorch after using chain.jl, dataframes.jl and flux. Yes, there are drawbacks with compile times and things like that, which can be annoying. But I keep working in julia because the benefits are worth it, those aren't intrinsic to the language, and most importantly, there's a roadmap to fixing them: https://discourse.julialang.org/t/precompile-why/78770/8 https://discourse.julialang.org/t/precompile-why/78770/8 with progress that is tantalizingly close to the end goal of easy dev and easy deployment.
- blindseer 4y agoI appreciate your honestly and clarity about your intentions. Maybe this my biggest gripe when someone claims Julia is objectively better than Python or R. The answer to this question is highly subjective, heavily depends on whether you use VSCode or not, and people that usually answer this question are heavily invested in getting other people to use Julia. But the answer is usually presented as an objective answer, and I guess that just kind of rubs me the wrong way.
- krumbie 4y agoIt's definitely not objectively better. For normal workflows, the startup latency is a real hindrance, even if the community has collectively built norms around that which help a bit (keeping a long running repl session open, etc.). But in terms of expressiveness plus attainable performance it really is hard to beat. I think it's nice that the path from quick draft to really performant code is continuous, and not a big gap like switching languages.
- mrtranscendence 4y ago> It's a real quality of life improvement + a feeling of freedom in that I can express my ideas, compose them with others all without worrying about a different compiler or framework or array type system or having to code units in c++. As someone who spends 98% of his time in Python and the remaining 2% in R I'd love to switch to a more nicely designed, ergonomic, high-performance language. Adopting Julia at work is a nonstarter for now, but what really holds me back from learning it is how thoroughly academic all the evangelism seems to be. Most working data scientists aren't doing things like physics simulations and won't be terribly interested in solving differential equations; even in grad school the topic rarely came up for my econometrics research. To put it bluntly: reading about Julia kind of makes me feel a bit dumb, not excited. When I do work with neural networks, the networks just aren't going to be small because the value in them -- for the kind of work I do -- is in their capacity to use large amounts of data to find useful representations. So the benefit of Julia over PyTorch described in the link is only interesting to me in a "huh, I guess that's a bit cool" kind of way.
- mbauman 4y agoCome hang out on our #gripes slack channel for a while; it's one of my favorite channels. But core folks also regularly discuss negative points on the discourse board, too. In my recent memory (like, past month or so?) that has included private APIs, default environments, and (of course) precompilation latency.
- cycomanic 4y agoThank you for saying this. As an outsider I (I only tried Julia a few times) this is exactly the impression I get every time I read a post (and comments) about Julia on hn. Don't get me wrong, I believe there are lots of interesting things happening in Julia, but it is not a magic wand. Often it is characterised as python with the speed of c, based on some highly optimised benchmarks, while the reality is much more complex. I find this uncritical evangelism quite off-putting tbh.
- ted_dunning 4y agoPoint taken. I, speaking for myself, will keep this in mind next time I set myself to gushing about Julia.
- cycomanic 4y agoAppreciated. I realise that part of this is just being human, if one likes something one wants to promote it. There is a real danger with overselling though. I got quite excited about Julia initially, but when I looked into it some more I found that it couldn't live up to the expectations that were set, and so I have become very sceptical towards all the news.
- ChrisRackauckas 4y agoIf all you read is the highlights of the accomplishments, then of course you're getting only the good stuff. Feel free to read all of the details: it's posted all over Github/Reddit/Slack/Discourse/etc. The same individuals share all of the nitty gritty performance issues of every aspect we've ever found.