logo       

Re: Fusion-ifying proto parse trees: msg#00083

parsers.spirit.devel

Subject: Re: Fusion-ifying proto parse trees


Frank Birbacher wrote:
Hi!

Eric Niebler schrieb:

But what
Dave is saying is that the loop unrolling should be happening at a lower
level, and for the *all* Fusion sequences. It should be baked into
Fusion, so that nobody should have to hard-code their own unrolled loops
as you're doing above. They'll just call the appropriate Fusion algorithm.


As I understand the discussion so far the goal (more or less) is:
- user writes "a >> b >> c >> d"
- proto: gives flattened et
- in spirit: "parse_sequence(S s) { fusion::for_each(s, &parse); }"
- in fusion: automated loop unrolling via for_each
- user gets efficient code

right?


You're getting warmer. :-)

- user writes "a >> b >> c >> d"
- proto: gives ET tree
- in spirit: parse flattens proto ET tree using a proto 2nd
phase transform
- in spirit: "parse_sequence(S s) { fusion::for_each(s, &parse); }"
- in fusion: automated loop unrolling via for_each
- user gets efficient code

Performance benchmarks showed it's faster for the ET tree to be flattened all at once when the entire ET is known then to do it piecemeal while building the ET.

--
Eric Niebler
Boost Consulting
www.boost-consulting.com


-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642


<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise