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