331 reputation
29
bio website blog.binaryfinery.com
location
age
visits member for 3 years, 10 months
seen Nov 20 at 19:21

Stuff I've implemented and shipped:

  • Secret Sauce running on 4000 cores
  • 3D Modeling tools
  • iPhone/Android apps
  • Console games (N64 thru XBox 360)
    • AI, Animation, Kernel "mods", Compiler fixes
    • Wrote a game for the Acorn Archimedes back in the day
  • Graphics Finite State Machine editor that generates code
  • HR Software

May
2
comment Why do people still say Java is slow?
let us continue this discussion in chat
May
2
comment Why do people still say Java is slow?
@Konrad You miss my point. There is not a single call to sort in our entire Java code base. I don't care if its implemented with cut-and-paste. We don't use it. For us, "where it counts" is "how fast can you implement this new feature so we can win this new customer worth $$$$". Java is faster "where it counts" for us. In your definition of where it counts, "computationally heavy data sets", you are correct. Two different domains, two different answers.
May
2
comment Why do people still say Java is slow?
@Konrad My application uses sort regularly, but it happens in the database. The point is that if something you do is really critical, somebody has probably already figured out a truly optimal solution. On the other hand, I have on numerous occasions seen developers waste time getting themselves off writing "optimal" solutions that completely miss either (a) someone much smarter than them has written a library to do it or (b) there is a much better algorithm or access strategy that would render their solution pointless. Or both. So, no, I do not remember the last time I had to sort.
May
2
comment Why do people still say Java is slow?
Don't remember the last time I needed to sort. Clearly "where it counts" is domain specific rather than universal. I remember when "C" was considered slow: all the best programmers used assembly. C++ can do some great things, but I've not had the pleasure of working on a team of 20 where the build times were less than forty minutes. With Java and Ruby I'm patching code on the fly. I still write some C++, and I play with LLVM, but my day job is Java because like "C" twenty years ago, its not soooo slow that its speed outweighs its benefits. Havent written any assembly for years.
Mar
21
comment Are there any concrete examples of where a paralellizing compiler would provide a value-adding benefit?
So you are saying, if it works at all, it should easily be able to spot that RT is trivially parallelizable. I'm inclined to agree.
Mar
21
comment Are there any concrete examples of where a paralellizing compiler would provide a value-adding benefit?
I disagree. My question asks for low-hanging fruit. I suggest that RT research has progressed way past the low-hanging fruit stage and well into the staggeringly hard-coded stage. I attended IEEE RT08 and most every presentation was quite specific. I'm not saying that the ideas presented could not be used by an automated system: I'm saying that the best minds are already engaged, and they're a high bar to beat.
Mar
21
comment Are there any concrete examples of where a paralellizing compiler would provide a value-adding benefit?
If you could rework your answer to describe your problem, as opposed to describing your attempts to solve it, that would answer the question and be genuinely useful to me. If you would like to communicate to the world why the question is a fools-errand, perhaps you could ask your own question.
Mar
21
comment Are there any concrete examples of where a paralellizing compiler would provide a value-adding benefit?
"Anyway, it seemed you wanted a personal story from which to draw your conclusions about the possible profitability of a "single-threaded assumed code based automagically parallelized" compiler." - no. Thanks. I do appreciate the effort you put into the answer, but its not what I asked and not what I wanted.
Mar
21
comment Are there any concrete examples of where a paralellizing compiler would provide a value-adding benefit?
I asked for concrete examples where it might be useful. You answered with "generally speaking" opinion of why it doesn't. Again, I have a long line of people waiting their turn to tell me why its impossible. I didn't ask "Why is Paul Graham wrong?".
Mar
21
comment Are there any concrete examples of where a paralellizing compiler would provide a value-adding benefit?
Thank you for your answer. I think you summarized the question correctly, so I may need to clarify it. The rest of your answer is "why it can't be done". Believe me, if I had asked "why can't this be done" I'd get a million answers, and I'd vote up every one. But I didn't ask that.
Mar
21
comment Are there any concrete examples of where a paralellizing compiler would provide a value-adding benefit?
@jk FTA: "The last 10 years have reminded us what Moore's Law actually says. Till about 2002 you could safely misinterpret it as promising that clock speeds would double every 18 months. Actually what it says is that circuit densities will double every 18 months. It used to seem pedantic to point that out. Not any more. Intel can no longer give us faster CPUs, just more of them."
Mar
21
comment Are there any concrete examples of where a paralellizing compiler would provide a value-adding benefit?
I'd ruled out raytracing for two reasons. First, as Michael Borgwardt observes, raytracing is "embarrassingly parallel". Secondly, raytracing is at the point where "optimizations" are more about algorithmic solutions (e.g. photon mapping).
Mar
21
comment Are there any concrete examples of where a paralellizing compiler would provide a value-adding benefit?
Question asks for concrete examples where it would apply. Your answer provides general examples where it does not apply.
Mar
20
comment Are there any concrete examples of where a paralellizing compiler would provide a value-adding benefit?
And yet there remain many which are, and which are very high $ value - such as raytracing. I'm not asking for your opinion on the worthiness of the subject matter. I'm asking for concrete experience.