Hacker News new | past | comments | ask | show | jobs | submit login

This is quite interesting, but I imagine that Flash interpreting C programs isn't all that speedy. It would be nice for browsers to ship a nice-n-fast VM that I could allow applications to use. For some reason, I don't think the JVM is The Right Thing (it's been tried for years and it never worked), but LLVM or Parrot might be nice.

First, though, we need to start compiling higher-level languages to LLVM bytecode. Is anyone working on anything like that currently? (A coworker and I are "planning" to make the Perl optree run on LLVM, but haven't gotten around to that yet. I also want to compile emacs as a library that runs on LLVM, and then compile elisp down to LLVM bytecode. That would make emacs nice-n-fast, and open the door to writing emacs extensions in whatever language you want. All of these are just ideas currently. Motivation / helpers would be nice ;)




We have a branch of Rubinius that is compiling ruby to rubinius bytecodes and then transforming that into LLVM bitcode for native compilation. It is still in the early stages but it already giving big speed improvements.

http://github.com/evanphx/rubinius/commits/cpp


Very cool. I am taking a look right now.


The JVM should be acceptable for client apps, but its implementation footprint is bulky in most respects(download, memory consumption and startup times) and it has never attained the kind of first-class browser integration and bundling that Flash has.

OTOH Flash performance is quite good now, and I wouldn't dismiss it out of hand. The bottleneck for most apps is in software rendering, not code performance.


Fair enough. I guess I would like a lower-level environment so I can make my own choices. Having the low level available means I don't have to live with someone else's choices; I can just write (or find) my own language and have a reasonable chance of it performing well.

Sure, there are things like parenscript that abstract away JavaScript now. But SBCL or Chicken Scheme is faster than JavaScript in most cases, and have more language features. So if I could just make one of those emit LLVM code, I'd have all my favorite language features in the browser with no speed compromises.

As an engineer, I know I have to make compromises... but if I don't have to compromise, I'm not going to complain about it ;)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: