VLERange: a range in between BidirectionalRange and RandomAccessRange

spir denis.spir at gmail.com
Mon Jan 17 08:55:45 PST 2011


On 01/15/2011 12:21 AM, Michel Fortin wrote:
> Also, it'd really help this discussion to have some hard numbers about
> the cost of decoding graphemes.

Text has a perf module that provides such numbers (on different stages 
of Text object construction) (but the measured algos are not yet 
stabilised, so that said numbers regularly change, but in the right 
sense ;-)
You can try the current version at 
https://bitbucket.org/denispir/denispir-d/src (the perf module is called 
chrono.d)

For information, recently, the cost of full text construction: decoding, 
normalisation (both decomp & ordering), piling, was about 5 times 
decoding alone. The heavy part (~ 70%) beeing piling. But Stephan just 
informed me about a new gain in piling I have not yet tested.
This performance places our library in-between Windows native tools and 
ICU in terms of speed. Which is imo rather good for a brand new tool 
written in a still unstable language.

I have carefully read your arguments on Text's approach to 
systematically "pile" and normalise source texts not beeing the right 
one from an efficiency point of view. Even for strict use cases of 
universal text manipulation (because the relative space cost would 
indirectly cause time cost due to cache effects). Instead, you state we 
should "pile" and/or normalise on the fly. But I am, similarly to you, 
rather doubtful on this point without any numbers available.
So, let us produce some benchmark results on both approaches if you like.


Denis
_________________
vita es estrany
spir.wikidot.com



More information about the Digitalmars-d mailing list