Re: [proto] Transform result_of nightmare and preserving terminal identity

2012-11-03 Thread Mathias Gaunard

On 31/10/12 21:28, Agustín K-ballo Bergé wrote:


Quoting from my original mail, what I want is to replace the following
geometric vector expression:

 p = q + r;

by

 p[0] = q[0] + r[0],
 p[1] = q[1] + r[1],
 ...,
 p[N] = q[N] + r[N],
 p;

It **can** be done with a transform and that's what I did. The optimized
proto expression evaluates ~33% faster than the original proto expression.


You could also evaluate the expression directly instead of rebuilding a 
new expression to evaluate.


That would probably increase compilation performance.
___
proto mailing list
proto@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/proto


Re: [proto] Transform result_of nightmare and preserving terminal identity

2012-10-31 Thread Agustín K-ballo Bergé

On 16/10/2012 03:50 p.m., Agustín K-ballo Bergé wrote:

On 16/10/2012 02:22 a.m., Eric Niebler wrote:

Hi Agustín,

This is just a quick note to let you know that I'm currently at the
standard committee meeting in Portland, and that I'll be unable to look
until this until I get back next week.



Thank you for letting me know.

Agustín K-ballo Bergé.-
http://fusionfenix.com

___
proto mailing list
proto@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/proto




For future reference, my issue was resolved at StackOverflow. You can 
find it here 
http://stackoverflow.com/questions/13146537/boost-proto-and-complex-transform


Preliminar tests for 1 evaluations of a simple expression `p = q 
+ r * 3.f` where p, q and r are geometric vectors of 3 ints give the 
following promising times:


Regular: 1.15s
Proto: 1.2s
Hand-Unrolled: 0.39s
Proto-Unrolled: 0.8s

Proto expressions build and optimization times are not taken into 
account. There is a considerable number of expression copies made by the 
expression optimization that cannot be avoided by the compiler. I will 
continue my research by implementing a custom evaluation context that 
does this optimization 'on the fly', without actually modifying the 
expression.


Agustín K-ballo Bergé.-
http://fusionfenix.com

___
proto mailing list
proto@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/proto


Re: [proto] Transform result_of nightmare and preserving terminal identity

2012-10-16 Thread Agustín K-ballo Bergé

On 16/10/2012 02:22 a.m., Eric Niebler wrote:

Hi Agustín,

This is just a quick note to let you know that I'm currently at the
standard committee meeting in Portland, and that I'll be unable to look
until this until I get back next week.



Thank you for letting me know.

Agustín K-ballo Bergé.-
http://fusionfenix.com

___
proto mailing list
proto@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/proto


Re: [proto] Transform result_of nightmare and preserving terminal identity

2012-10-15 Thread Eric Niebler
On 10/13/2012 4:20 PM, Agustín K-ballo Bergé wrote:
 Hi All,
 
 I'm experimenting with Proto to build a DSEL that operates on geometric
 vectors. I'm trying to write a transform that would take an assign
 expression and unroll it component wise. For instance, I want to replace

Hi Agustín,

This is just a quick note to let you know that I'm currently at the
standard committee meeting in Portland, and that I'll be unable to look
until this until I get back next week. Sorry for the delay. Maybe
someone else on this list might be able to help (nudge!). You might also
pose this question on stackoverflow.com.

-- 
Eric Niebler
BoostPro Computing
http://www.boostpro.com
___
proto mailing list
proto@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/proto