Acerca del objeto DateTime

17/04/2007 - 21:33 por Harvey Triana | Informe spam
Si yo escribo algo como:

public struct WITSTable
{
public DateTime t;
public float v;
}
const int COUNT = 100000;
WITSTable[] a = new WITSTable[COUNT];

El peso del array es considerable. ¿Existe una manera más eficiente de
escribir esto?
Si yo escribo en Visual Basic clásico:

Public Type WITSTable
DateTime As Date
Value As Single
End Type
Private Const COUNT As Long = 100000
Private a(1 To COUNT) As WITSTable

El peso del array es ligero.

Corolario

Quisiera que existiera un tipo en .NET que almacenara tiempo en solo 8 bytes
por variable.

Su servidor,
<Harvey Triana />
 

Leer las respuestas

#1 RFOG
18/04/2007 - 10:06 | Informe spam
En Tue, 17 Apr 2007 21:33:08 +0200, Harvey Triana
escribió:

Si yo escribo algo como:

public struct WITSTable
{
public DateTime t;
public float v;
}
const int COUNT = 100000;
WITSTable[] a = new WITSTable[COUNT];

El peso del array es considerable. ¿Existe una manera más eficiente de
escribir esto?
Si yo escribo en Visual Basic clásico:

Public Type WITSTable
DateTime As Date
Value As Single
End Type
Private Const COUNT As Long = 100000
Private a(1 To COUNT) As WITSTable

El peso del array es ligero.

Corolario

Quisiera que existiera un tipo en .NET que almacenara tiempo en solo 8
bytes
por variable.

Su servidor,
<Harvey Triana />






No solo el peso es considerable, sino que cada vez que trates eso como
objeto en lugar de como tipo básico vas a generar unos boxing/unboxing de
órdago y el rendimiento va a ser peor que pésimo...

Para eso lo mejor es que uses genéricos, si quieres acceder como un array
usa una lista:

List<WITSTable> miLista=new List<WITSTable>();

Ahora, que el box/unbox no te lo quita nadie. Casi sería preferible que
cambiaras esa estructura por una clase... Aunque la estructura DateTime
sigue siendo eso, una estructura.

Visita mi blog principal: http://rfog.blogsome.com
Y este sobre programación: http://geeks.ms/blogs/rfog
Libros, ciencia ficción y programación
Si hubiera un solo hombre inmortal sería asesinado por los envidiosos.

Preguntas similares