[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
Re: [xml-dev] Feasibility of "do all application coding in the XMLlanguages"?
- From: Rick Jelliffe <rjelliffe@allette.com.au>
- To: xml-dev@lists.xml.org
- Date: Tue, 02 Dec 2008 20:15:14 +1100
Michael Kay wrote:
>> I agree that functional languages are quite useful. But I
>> think the problem is, many of the underlying hardware
>> architectures are von Neumann based. von Neumann machines
>> work best with imperatives programs (languages).
>>
>
> If we believed that we would all still be writing in Assembler, or at any
> rate using GOTO statements.
>
Since modern general purpose languages like java, C# and so on do not
have effective, structured ways to take advantage of SIMD instructions
(if we accept the C++ Intrinsics as not being part of C++ as as such...)
we do have to write in near-assembler with the equivalent of GOTOs at
the moment, in order to get anywhere near optimal performance from the CPUs.
With respect to John Backus, we are in the reverse of the position he
mentioned: we are no longer using machines that are strictly von Neuman
architectures: they all allow parallelism and/or pipelining. It is no
longer that "present-day programming languages reflect present-day
technology" as Backus said: it is the languages that don't provide
access, largely because their primitive storage types are based on 40
year old norms (i.e. C) rather than on the 128 bit registers optimised
for in modern CPUs.
I don't see that functional programming is any different than imperative
programming in this regard: unless the CPUs SIMD data structures are
first-class objects (or have a first class abstraction that is
CPU-neutral) and useable in the platform APIs, the SIMD instructions are
just inaccessible: the result is our text processing programs run slower
(2 times? 10 times?) than they could. Look at Prof Camerons XML parsing
results at http://www.cs.sfu.ca/~cameron/parabix-study-preprint.pdf
for work that shows our deficit.
Cheers
Rick Jelliffe
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]