Re: How Come This Binary Op Doesn't Work?

new topic     » goto parent     » topic index » view thread      » older message » newer message

Pete Lomax wrote:
> 
> Jason Gade wrote:
> > 
> > Pete Lomax wrote:
> > > 
> > > One of the many reasons I never liked sequence ops.
> > > 
> > I like the idea behind sequence ops, but are they really used that often?
> See: <a
> href="http://www.openeuphoria.org/cgi-bin/esearch.exu?fromMonth=6&fromYear=1&toMonth=7&toYear=C&postedBy=&keywords=Lomax+win32lib+edita+arwen+sequence+ops">http://www.openeuphoria.org/cgi-bin/esearch.exu?fromMonth=6&fromYear=1&toMonth=7&toYear=C&postedBy=&keywords=Lomax+win32lib+edita+arwen+sequence+ops</a>
> 
> In summary: as at 22/2/07, I found a total of 37 uses in wildcard.e(2),
> Edita(11,
> I quashed the lot), Arwen(6, ditto, on my/the edita copy), and win32lib(18,
> Derek may have since quashed some), in over 87,000 lines of code. That is less
> that once per 2000 lines, not counting the sources that I found no examples
> in, and all that were found were easily replaceable at zero to minimal runtime
> cost.

Huh. More than I expected...

> 
> > Now if sequence ops used some kind of SIMD instructions ...
> > were actually faster than iterating, that would be nice.
> In my experience, not directly with Eu, on the 286 and before this stuff was
> great, on the 386 (the first chip with a decent on-chip cache), this kind of
> stuff was astonishing, especially if code & data all fit on chip - again
> not directly Eu but I saw 8-fold-plus gains. So I can see why one might have
> writ such in the early 90s. But for the past ten years or more cpu designs
> show
> very little to no gains for sequence ops. You can prove this, I have.
> 
> Ripping them wholesale out of the language is so clearly to me a great idea,

I dunno, it still seems to be very "Euphorian" to have them -- I just think they
need to be better somehow.

> but not one I can give the great argument/explain the gains for. I guess I hit
> a brick wall with the fact that allowing eg:
> }}}
<eucode>
> if name="Pete" then
> </eucode>
{{{

> does not appear to be a good enough excuse ;-((.
> 
> Regards,
> Pete

Heh, we've discussed this one a lot. Short-circuiting works differently in if
and while statements, why not sequence ops?

--
"Any programming problem can be solved by adding a level of indirection."
--anonymous
"Any performance problem can be solved by removing a level of indirection."
--M. Haertel
"Premature optimization is the root of all evil in programming."
--C.A.R. Hoare
j.

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu