More type-flexible arrays?
John Colvin via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Sun Jun 14 01:39:43 PDT 2015
On Sunday, 14 June 2015 at 06:12:30 UTC, Ozan wrote:
> Hallo!
>
> Is it possible to create arrays which has more then one type,
> f. ex. array[0] = 1; array[1] = "z"; array[2] = new clazz(),
> ....
>
> I tried "Variant", but it slow down heavily my app.
>
> Greetings,
> Ozan
It's always going to be slower. To do this, every access to the
array has to come with some amount of branching and/or and
indirection (including an indirect function call if you do it the
OOP way), which all have a cost, not to mention obstructing
optimisation by the compiler.
It's possible that std.variant.Variant isn't as fast as it could
be, but it's never going to be even close to
zero-performance-cost.
More information about the Digitalmars-d-learn
mailing list