- From: C. M. Sperberg-McQueen <cmsmcq@blackmesatech.com>
- Date: Fri, 19 Aug 2022 08:14:22 -0600
- To: Steven Pemberton <steven.pemberton@cwi.nl>
- Cc: public-ixml@w3.org
Steven Pemberton <steven.pemberton@cwi.nl> writes: >> But from the wording of your mail, one might get the impression that you >> are constructing your data structures by hand (I'm not sure, but to me >> it sounded that way); I hope that in fact you are extracting it >> automatically from the UCD. > First observation, then (automatic) construction. For instance, if a > range is interrupted by unassigned codepoints, then I just include > them in the range and be done with it. > >> Thinking about it a bit just now, I think you may do better with a >> simpler data structure just listing the ranges. > A good analysis. What you didn't know was that ABC uses B Trees for > its data structures, so what you describe I get mostly for free anyway > (one of the reasons I continue to program mostly in ABC. It has other > performance advantages as well, such as assignment being O(1)). Except that log(A) + log(B) = log(A * B), which in these cases will almost always be greater than log(A + B + C). I think the argument for a single B-tree with all ranges, as opposed to three B-trees with the same total number of nodes, holds for B-trees as well as for binary trees. Michael -- C. M. Sperberg-McQueen Black Mesa Technologies LLC http://blackmesatech.com
Received on Friday, 19 August 2022 14:17:40 UTC