Re: Demo: Things in Hierarchies (w/o RM/SQL)

From: Neo <neo55592_at_hotmail.com>
Date: 3 Nov 2004 10:03:46 -0800
Message-ID: <4b45d3ad.0411031003.20ab1604_at_posting.google.com>


> The children of Adam and Eve were not called John and Mary,
> but Cain and Abel.

I do not assert who are the children of adam and eve. They are arbitrary things in the example. Feel free to substitute those things that don't irritate you.

> Obviously, your knowledge of theological literature is only
> marginally better than your knowledge about relational theory.

I do not assert to be an expert in your theology or relational theory.

I DO assert your RM Sol#1 and #2 failed the challenge because they were not able to represent things in hierarchies without NULLs or redundancy and were slower at generating the desired report. Because your solutions were not generic, they could not represent the following data without NULLs or redundancy:

Case1: God is the parent of an unnamed person. God is also the parent of second person with three names (string 'john', integer 100, decimal 3.14).

Case2: john isa person. john's color is brown. mary isa person. mary's color is brown. brown is a person.

Besides being non-generic and requiring NULLs, your solutions were slower. As shown by the measurements made below, even when executed on a 5.6 times slower 233 Mhz Pocket PC, XDb1 generated the small common ancestor report nearly twice as fast as your non-normalized, non-generic SQL Server 2000 Solution running on a 1,300 MHz desktop.

Small Report Generation Summary (provided by Hugo)



Solution Time(ms) Platform Notes
-------------- --------  ----------------- --------------------------
RM#1 SqlSrvr2K  14.3     1.3 Ghz PC        Unnormalized, non-generic
RM#2 SqlSrvr2K  11.0     1.3 Ghz PC        Unnormalized, non-generic


Small Report Generation Summary (provided by Neo)



Solution Time(ms) Platform Notes
-------------  --------  ----------------- --------------------------
RM#1 SqlSrvr7   65.0     500 Mhz Server    Unnormalized, non-generic
RM#2 SqlSrvr7   68.9     500 Mhz Server    Unnormalized, non-generic
XDb1 4.5.7       1.632   500 Mhz Server    Normalized, generic
XDb1 4.5.9       6.561   233 MHz PocketPC  Normalized, generic


Large Report (28,940 rows) Generation Summary (provided by Neo) 200 Goat Hierarchy (5 generations x 40 goats/generation, each goat having two parents, except 1st gen).



Solution Time(sec) Platform Notes
-------------  --------  ----------------- --------------------------
RM#5 SqlSrvr7   40.5     500 Mhz Server    Unnormalized, non-generic
XDb1 4.5.7       2.9     500 Mhz Server    Normalized, generic
XDb1 4.5.9      16.971   233 Mhz PocketPC  Normalized, generic


Larger Report (276,620 rows) Generation Summary (provided by Neo). 400 Goat Hierarchy (10 gen x 40 goats/gen),



Solution Time(ms) Platform Notes
-------------  --------  ----------------- --------------------------
RM#5 SqlSrvr7  105 min   500 Mhz Srvr, NT  Avg of 2 runs, UnNrm,UnGen
XDb1 4.5.10     44 min   500 Mhz Srvr, NT  Avg of 2 runs, Norm, gener
XDb1 4.5.10     57 min   450 Mhz PC, 98    1 run, Normalized, generic
XDb1 4.5.10 195 min 233 Mhz PocketPC 1 run, Normalized, generic

> Neo ... is a cheater

Please show that Neo is a cheater, by meeting the challenge and posting a faster RM Solution that is generic enough to handle the above two cases, is NULL-less and doesn't require redundant data. Received on Wed Nov 03 2004 - 19:03:46 CET

Original text of this message