It's not neccesarily which language is faster, but the which algorithm is faster.
He said naively written C, which mean the algorithm may be entirely different and run in O(n2) and much slower than a Haskell version which use a different algorithm and run in O(nlogn).
actually in the specific example I'm thinking about, i'm talking about memory locality being the performance difference (and in this case, array layout for matrix multiplication).
The naive obvious "dot product" matrix mult of two Row Major matrices is 100-1000x slower than somewhat fancier layouts, or even simply transposing the right hand matrix can make a significant difference, let alone more fancy things.
Often the biggest throughput bottleneck for CPU bound algorithms in a numerical setting is the quality of the memory locality (because the CPU can chew through data faster than you can feed it). Its actually really really hard to get C / C++ to help you write code with suitably fancy layouts that are easy to use.
Amusingly, I also think most auto vectorization approaches to SIMD actually miss the best way to use SIMD registers! I've actually some cute small matrix kernels where by using the AVX SIMD registers as a "L0" cache, I get a 1.5x perf boost!
oh, thats just me rambling about why i don't trust compiler autovectorization :)
well:
1) i've been slowly working on a numerical computing / data analysis substrate for haskell for over a year now.
2) the haskell c ffi is probably the nicest c ffi you'll ever see. Also pretty fast, basically just a known jump/funcall! And no marshaling overhead too!
3) theres a lot of current and pending over the next year work to make it easy to write HPC grade code using haskell. Some approaches involve interesting libs for runtime code gen (the llvm-general lib for haskell is AMAZING).
Theres also a number of ways where ghc haskell will likely get some great performance improvements for numerical code over the next 1-2 years! (i've a few ideas for improving the native code gen / SIMD support over the next year that I hope to experiment with as time permits)
I'm not sure I can detect whether another app is non-natively full screened, I'm afraid. I'll give it a poke, but to be honest, working with full screen stuff is a bit difficulty on OS X. The APIs aren't super comprehensive.
Filling up rather than emptying out is a fun idea; I'll add that to the ol' feature request list.
Awesome work! Cheers airblade. One nitpicky thing though, why do you use "_" and not "-" for removed lines? Can't see why you wouldn't want it vertically centered!
I don't agree, to me he makes a lot of sense. I'd love for the social web to be more focused on the future and activities rather than that of an old photo album capturing the highlights of everyones oh so interesting lives.
I think your response to c) is somewhat over simplified, facebook is definitely not what I want but i still use it until what i actually want comes along and people start using that instead.
I've never heard of the term 'rage to master' but I've been told this behaviour is common in people with Aspergers Syndrome. Intense interests which takes priority in life only to be substituted with something else weeks, months or a couple of years down the line.
Maybe you can shed some more light on the 'rage to master' personality trait you're talking about?
I'm not able to find the definitive research paper on it right now which was titled "The Origins and Ends of Giftedness," but here's one on the trait in the visual arts which should give you an idea --
Despite the term being catchy/interesting, most of the literature on it is very academic and somewhat dry. It probably makes for poor curiosity reading, but it's supremely valuable to dig through the academic papers if you have the trait yourself or you're a parent/guardian/teacher of someone who does.
Seeing as I have yet to read up on the matter I can't say that I do or do not have the trait myself. But from the little that I've come to understand I'd say it's highly plausible.
I'll continue to look into it, I find awareness of oneself's personality of highest importance and I always strive to learn more about why I do the things I do.
You probably should read the document lionhearted linked to:
> Google the term “rage to master” – click around, read some summaries, and then check out a couple academic papers. It will be very worth your time.
I'm not sure if it's related to Aspergers, but I don't think negativity[0] is warranted. Having an intense interest is good by itself; if it keeps for a few months—there you have a startup. =) The only problem is indeed that you have to master it, and not always do conscious attempts help.
[0] Although I might be mistaken and there wasn't any in your reply.
I'll go ahead and do a little research. My comment might've come out a bit blunt but there was no negativity implied. More of a partly sceptical tone as to where the seemingly hip term came from.
I'd love to discuss the good and the bad with the trait itself but I should probably do some reading first to verify that it's the same trait that I'm referring to.