Arc.Tango

Clay Smith clayasaurus at gmail.com
Thu Sep 6 12:53:01 PDT 2007


Bill Baxter wrote:
> Clay Smith wrote:
>> Bruno Medeiros wrote:
>>> Clay Smith wrote:
>>>> Arc v.02 has been successfully ported over to Tango, and will be 
>>>> using Tango as the only supported standard library for future releases.
>>>>
>>>> I put my rationale on a wiki, as well: 
>>>> http://www.dsource.org/projects/arclib/wiki/WhyUseTango
>>>>
>>>> Arc v.02 Stable Tango Branch: 
>>>> http://svn.dsource.org/projects/arclib/branches/arc02/tango/
>>>>
>>>> Arc is a cross platform arcade game library, providing easy access 
>>>> to 2d graphics, sound, input, a graphical user interface, and more.
>>>>
>>>> ~ Clay
>>>
>>> What Tango facilities are you using (or planning to use)?
>>>
>>
>> I mostly use tango's bare minimum features, but...
>>
>> Using
>> * Signals
>> * Logging
>>
>> Planned
>> * VFS
>> * Maybe Reader, Writer
>> * Maybe some collections
>> * Maybe XML if tango decides to get that
> 
> You make a lot of good points on that page.
> 
> Have you (or anyone) tested the performance of the tango containers? 

No, but I'm planning to test the performance of the Tango containers vs. 
my own, and then if I find mine to be faster/better, write a patch to 
make the tango containers faster/better and hope it goes through :)

I'm
> concerned about the performance impact of all iterators being 
> heap-allocated, interface-accessed things, but I suspect there are ways 
> to work around that (maybe using opApply's or scope'ing iterators).
> 
>  From a quick look it appears that opApply scope allocates and uses the 
> actual iterator type, thus avoiding both the heap and virtual calls. But 
> the iterator returned by .elements is a heap-allocated generic interface 
> pointer.  On the other hand opApply will have to go through a few 
> delegate calls to get at your loop body.  So anyway, it's not exactly 
> clear to me what price I end up having to pay at the pump vs a more 
> STL-like thinly-veiled-pointers approach.
>

Yea, I don't know much about the way Tango currently does it. What I'm 
/assuming/ about Tango, is that, given enough time for user testing and 
patch submits, it will eventually offer optimal solutions.

~ Clay



More information about the Digitalmars-d-announce mailing list