On Wed, Sep 12, 2012 at 1:46 PM, Camuel Gilyadov <[email protected]> wrote:
> Regarding Java and high-throughput. The problem is that when java > doesn't perform it is 1000 more complicated to understand what went > wrong. > This may be true. I haven't had too much trouble. > With C you start VTune and everything is clear in a second. > Also with high-performance java - code readability suffers, just look > to source code of high performance java encryptors and compressors.... > and they still underperform. > Uhh.... high performance encryptors and compressors in any language are very difficult to read. This is not a data point. > So I am in favor of writing beutiful java to generate high performance > C inner loops. > Even better is to allow any language to implement each layer of abstraction. Use C for the lowest level scanners and first level aggregators. Use C for the part that has to spawn processors securely. Use Java (or Scala or Python or Clojure) to transform query plans. We absolutely must allow Java or C or almost anything else to be a client. We absolutely must *allow* but not *require* C at the lowest scanner level. We probably must allow Java for intermediate layers. This means good API's must be defined at each level with good portable data structures between these levels.
