Re: [RFC] Thing 1: Shardmap fox Ext4

From: Daniel Phillips
Date: Sun Dec 08 2019 - 05:25:36 EST


On 2019-11-27 6:28 p.m., Theodore Y. Ts'o wrote:
> The use of C++ with templates is presumably one of the "less so"
> parts, and it was that which I had in mind when I said,
> "reimplementing from scratch".

The templates were removed without reimplementing from scratch:

https://github.com/danielbot/Shardmap/blob/master/shardmap.h#L88
https://github.com/danielbot/Shardmap/blob/master/shardmap.cc#L82

The duopack/tripack facility, central to Shardmap efficient scalability, are
now just ordinary C code that happens to be compiled by a C++ compiler. I
think the machine code should be identical to what the templates produced,
though I did not verify.

This was a strictly mechanical conversion, less error prone than
reimplementing from scratch I would think. I expect the rest of the
back conversions to be similarly mechanical.

Regards,

Daniel