www.digitalmars.com         C & C++   DMDScript  

D - object serialization any time soon?

reply no where.no writes:
I think object persistence is the last missing feature that keep me from jumping
to D.  Walter, what's your roadmap for this?


BTW, follow the D link from (http://www.digitalmars.com/d/index.html)

http://www.functionalfuture.com/d/

why D is so bad on the follwing 4 tests in the middle? especially the hashes?

MSVC7  GCC    D      C#
fibo (42)       6.597  6.762  5.910  8.051 
-------------------------------------------
ackermann (12)  3.005  2.929  6.064  9.017 
hash (1000000)  1.954  2.653 14.929  3.013 
hash2 (2000)    4.440  4.059 32.162 21.041 
matrix (100000) 7.039  7.051 16.293 10.782 
------------------------------------------
ary3 (1000000)  9.567 10.209  9.255  9.097 

It also looks strange: D is quite good on fibo, but bad on ackermann;
again good at array, but bad on matrix.

Walter, has you got time to look at these issues?
Oct 27 2003
next sibling parent shinichiro.h <s31552 mail.ecc.u-tokyo.ac.jp> writes:
 why D is so bad on the follwing 4 tests in the middle? especially the hashes?

I also thought the hash's benchmark strange, and I checked it. http://user.ecc.u-tokyo.ac.jp/~s31552/wp/d/hashbench2_en.rd.html ------- shinichiro.h
Oct 27 2003
prev sibling next sibling parent reply Ilya Minkov <webmaster midiclub.de.vu> writes:
no where.no wrote:
 I think object persistence is the last missing feature that keep me from
jumping
 to D.  Walter, what's your roadmap for this?

I suggest you go to www.opend.org and download DLI, the old D for Linux compiler. In the source of its Phobos, you will find pickle.d - take it and see if you can make it work with current DMD versions. -eye
Oct 28 2003
next sibling parent no where.no writes:
Thanks for the pointer.  I'm wondering why it's not included in the standard
distribution? since both win32 and linux version are now distributed togather.

Also, I just quickly browsed the code, and find the dump(obj) function is using
a linear search.  Will this be too slow, should a hash-table be used here?

/* Store the object */
void dump (Object object)
{
dumpClass (object.classinfo); /* Save the type */

/* See if a handle for it already exists */
for (int c = 0; c < objects.length; c ++)
{
if (objects [c] === object)
{
jar.uintSave (c + 1);
return;
}
}

/* Not found, output it */
objects ~= object; /* Register the object */
jar.uintSave (objects.length); /* Save the handle */
dumpCoreClass (object.classinfo, object); /* Save the object data */
}


In article <bnlvbs$2t0e$1 digitaldaemon.com>, Ilya Minkov says...
no where.no wrote:
 I think object persistence is the last missing feature that keep me from
jumping
 to D.  Walter, what's your roadmap for this?

I suggest you go to www.opend.org and download DLI, the old D for Linux compiler. In the source of its Phobos, you will find pickle.d - take it and see if you can make it work with current DMD versions. -eye

Oct 28 2003
prev sibling next sibling parent no where.no writes:
Thanks for the pointer.  I'm wondering why it's not included in the standard
distribution? since both win32 and linux version are now distributed togather.

Also, I just quickly browsed the code, and find the dump(obj) function is using
a linear search.  Will this be too slow, should a hash-table be used here?

/* Store the object */
void dump (Object object)
{
dumpClass (object.classinfo); /* Save the type */

/* See if a handle for it already exists */
for (int c = 0; c < objects.length; c ++)
{
if (objects [c] === object)
{
jar.uintSave (c + 1);
return;
}
}

/* Not found, output it */
objects ~= object; /* Register the object */
jar.uintSave (objects.length); /* Save the handle */
dumpCoreClass (object.classinfo, object); /* Save the object data */
}


In article <bnlvbs$2t0e$1 digitaldaemon.com>, Ilya Minkov says...
no where.no wrote:
 I think object persistence is the last missing feature that keep me from
jumping
 to D.  Walter, what's your roadmap for this?

I suggest you go to www.opend.org and download DLI, the old D for Linux compiler. In the source of its Phobos, you will find pickle.d - take it and see if you can make it work with current DMD versions. -eye

Oct 28 2003
prev sibling parent no where.no writes:
Thanks for the pointer.  I'm wondering why it's not included in the standard
distribution? since both win32 and linux version are now distributed togather.

Also, I just quickly browsed the code, and find the dump(obj) function is using
a linear search.  Will this be too slow, should a hash-table be used here?

/* Store the object */
void dump (Object object)
{
dumpClass (object.classinfo); /* Save the type */

/* See if a handle for it already exists */
for (int c = 0; c < objects.length; c ++)
{
if (objects [c] === object)
{
jar.uintSave (c + 1);
return;
}
}

/* Not found, output it */
objects ~= object; /* Register the object */
jar.uintSave (objects.length); /* Save the handle */
dumpCoreClass (object.classinfo, object); /* Save the object data */
}


In article <bnlvbs$2t0e$1 digitaldaemon.com>, Ilya Minkov says...
no where.no wrote:
 I think object persistence is the last missing feature that keep me from
jumping
 to D.  Walter, what's your roadmap for this?

I suggest you go to www.opend.org and download DLI, the old D for Linux compiler. In the source of its Phobos, you will find pickle.d - take it and see if you can make it work with current DMD versions. -eye

Oct 28 2003
prev sibling parent "Walter" <walter digitalmars.com> writes:
<no where.no> wrote in message news:bnkip1$140o$1 digitaldaemon.com...
 I think object persistence is the last missing feature that keep me from

 to D.  Walter, what's your roadmap for this?

I don't have one for that yet, sorry.
 BTW, follow the D link from (http://www.digitalmars.com/d/index.html)

 http://www.functionalfuture.com/d/

 why D is so bad on the follwing 4 tests in the middle? especially the

I don't know. I'll have to check it out.
 MSVC7  GCC    D      C#
 fibo (42)       6.597  6.762  5.910  8.051
 -------------------------------------------
 ackermann (12)  3.005  2.929  6.064  9.017
 hash (1000000)  1.954  2.653 14.929  3.013
 hash2 (2000)    4.440  4.059 32.162 21.041
 matrix (100000) 7.039  7.051 16.293 10.782
 ------------------------------------------
 ary3 (1000000)  9.567 10.209  9.255  9.097

 It also looks strange: D is quite good on fibo, but bad on ackermann;
 again good at array, but bad on matrix.

 Walter, has you got time to look at these issues?

Nov 01 2003