Re: Kat's 8bit sequences
- Posted by Derek Parnell <ddparnell at big?ond.c?m> Jun 01, 2008
- 745 views
Dan Moyer wrote: > But *if there's no performance hit* for adding 8 bit byte value sequences, > then those "others" might be encouraged to use Euphoria, which would generally > be recognized as a (mostly) good thing for Euphoria? But that's the point. The current thinking is that Euphoria will actually run slower than now if byte sequences were added to the mix of datatypes. And that means slower for every Euphoria program not just those using byte sequences. The reason goes along the lines that currently, most operations in the backend that use datatypes, need to decide what sort of thing it is first; is it an integer, an atom, a sequence or an object? There are two bits set aside in the 32-bit datatype entity reserved to tell the backend what sort of thing the entity is. 2-bits means four different possibilities. Now if we add a fifth datatype we need to do something clever to identify it. A byte sequence is obviously of type of sequence, so we could add to the sequence 'struct' a code that differentiates between a 32-bit sequence and an 8-bit sequence, but then every backend operation that deals with sequences will have to do this extra test before it can perform the operation, because the operation implementation will be different for the different sequence types. And how many Euphoria programs are there that doesn't use sequences. Now, how much of an impact this might be is pure guess work at this time. Then there is the new code needed to atually implement efficient 8-bit sequence operations. And there is a quite a bit of that needed. All this is going to take a lot of time to do. So, don't expect 8-bit sequences to make it in v4.0, but the door is definitely not closed on them. I expect that there will be a few experimental editions to test out completing implementations and to gain insights into how to make it all efficient. As Euphoria is open source that means those with expectations for byte sequences can be a part of their development. I'm very sure that Euphoria will get byte sequences one day, but not right away. -- Derek Parnell Melbourne, Australia Skype name: derek.j.parnell