On Tue, Jul 30, 2013 at 2:31 AM, Ian P. Cooke <[email protected]> wrote:
> On Jul 30, 2013, at 00:41 , David Jeske <[email protected]> wrote: > > On Mon, Jul 29, 2013 at 3:22 PM, Jonathan S. Shapiro <[email protected]>wrote: > >> I find this very interesting. The [performance] objective you are setting >> makes sense, but some of the particulars strike me as challenging - notably >> the vector computation goals. >> > I think you're taking my assertion just a bit too far. I simply mean > approaching the envelope of hardware performance should not require > wholesale jettisoning of the systems-runtime because of an achilles heel. I > don't mean that the language or runtime needs to directly support every > hardware capability itself. > > > While it wasn't your intention, do you think that asking for > BitC/Rust-level support for something like OpenCL's or Cilk's vector > datatypes is too much to expect? > I think if a language system can't support OpenCL (with competitive performance), it doesn't deserve to be called a systems programming language. The abstraction level at which it injects this kind of functionality is a bit irrelevant to me (intern vs library, etc. etc) The net result of this is that it's necessary to *either* provide run-time code generation in the language, or support run-time code generators in the language. If neither of these is allowed then it's not possible to do many many optimizations. > AFAIK, the the stackless/first-class-continuations folks throwing stones > at the C-stack doesn't feel like an achilles heel. It hasn't been shown > that this is necessary to approach hardware performance potential. (it's > more of a code-size and clarity issue) > > I agree in part but you're downplaying the combination of concurrent > execution with sequential syntax - it's killer. twisted's Deferred and > other callback-based event models are so clunky and unfriendly to > maintenance that they trip up beginners and experts alike. > I'm really not. I'm making a set of brutal and hopefully mostly-objective culling rules for the minimum viable systems programming language must include. In C we can author Python, and twisted, and stackless without stop-the-world so C seems like it does not have any achilles heel WRT this issue. We can't say the same about JVM.
_______________________________________________ bitc-dev mailing list [email protected] http://www.coyotos.org/mailman/listinfo/bitc-dev
