Boost logo

Boost :

Subject: Re: [boost] Accelerating algorithms with SIMD - Segmented iterators and alternatives
From: Bo Persson (bop_at_[hidden])
Date: 2010-10-13 12:50:52


Daniel Herring wrote:
>
> Presuming a sufficiently advanced jit architecture,
>
> - static code generation
> - may not have access to custom opcodes or hardware on the user's
> computer - may not be able to produce all optimal variants
> - cannot change after delivery
> - can only guess the actual runtime code paths
>
> - a jit on the user's machine can support
> - local benchmarking and profiling
> - user-side optimization (including profile hints)
> - use an upgraded compiler
> - save compiled results
> - ...
>
> Basically, think of it as moving the compiler from the developer's
> box to the user's executable. Both are "the same compiler", but the
> user's copy presumably knows more about the actual input data and
> hardware available.

But in practice it doesn't help much.

As a non-JIT developer you can figure what is the minimum requirements
for your program to run decently. Optimize for that!

If your customer has better hardware - fine, it will run even faster.
If your calculations need SIMD extensions, no JITing in the world can
fix that on my 486.

Bo Persson


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk