leerho commented on issue #502: URL: https://github.com/apache/datasketches-cpp/issues/502#issuecomment-4513975823
I am all for restructuring the library for ease of use and understanding and make it more consistent in structure with other big libraries. Although this is somewhat of a duplicate of #419, There is additional information here as well. However, your Option A above will not work. Users often are using several of our sketches in the same application. Absent any other clarifying information the user could end up with a unique counting "sketch.hpp" and a quantiles "sketch.hpp". Oops! This means the user would end up having to fully qualify which sketch is which every time it is used. We had a similar situation in the DS-Java library and I ended up having to rename many of the classes and methods to include the sketch type in the call. You will now find HllSketch, CpcSketch, ThetaSketch, etc. A lot of this is historical. Our library started with just one sketch and grew, and grew and added multiple languages as well. Also, as @jmalkin points out in #419, our original thought was that users would just always install the whole library. And that might have been OK when the library was just one or two sketches. Nonetheless, breaking this up so that each sketch can be extracted on its own may be a lot more involved. There are some common code that is shared across some of the sketches that will have to be looked at. It is time to modernize the C++ library structure. I will defer to others who are more familiar with C++ to comment on your other suggestions. This will constitute a new major version. In that context, we may want to take the opportunity to examine whether we want to set the minimum C++ version to C++17. We also want to make sure we include some of the other bug fixes that have been trickling in :) We also could use some help in this restructuring as the original authors no longer have the time to devote to this. I think they may be available to answer some questions, but that is about it. I would like to invite a few other folks to weigh in on this :) CC += @AlexanderSaydakov @jmalkin @will-lauer @tjstum -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
