These are very helpful suggestions, thank you. Please keep them coming! Lee.
On Tue, Sep 30, 2025 at 11:06 AM Jon Malkin <[email protected]> wrote: > Pierre has a good point here. Especially with java supporting var instead > of a full class name when declaring variables there's less pressure to > optimize class names for size, especially when it reduces collisions. So > our several ItemsSketch instances can get the family added to the name. > > jon > > On Tue, Sep 30, 2025 at 8:11 AM Alexander Saydakov > <[email protected]> wrote: > >> I support these changes. >> >> On Tue, Sep 30, 2025 at 7:48 AM Pierre Lacave <[email protected]> wrote: >> >>> +1 >>> >>> Similarly to Sketch, I would also point to ItemsSketch that is used for >>> Frequencies and one of the Quantile sketches that could fall under the code >>> cleanup initiative >>> >>> >>> >>> On Tue, Sep 30, 2025 at 3:46 PM Jon Malkin <[email protected]> wrote: >>> >>>> These all sound good to me >>>> >>>> On Mon, Sep 29, 2025, 6:34 PM Lee Rhodes <[email protected]> wrote: >>>> >>>>> The upcoming 9.0.0 release of the DataSketches-java library is >>>>> providing an opportunity to clean up and refactor some things in the >>>>> existing code that should make the code base easier to understand and use. >>>>> >>>>> Some of the code has been around for over 10 years and the library has >>>>> changed considerably since then. This note is an early heads-up into some >>>>> of the major changes coming to the library. A more complete summary of >>>>> the >>>>> changes will be published at the time of release. >>>>> >>>>> - Java 25 is the first Java LTS release of the FFM API, and >>>>> provides an amazing opportunity for us to obsolete the entire >>>>> DataSketches-Memory repository. The DS-Memory repo has served us well >>>>> for >>>>> over 10 years by providing fast access to off-heap data structures. >>>>> But >>>>> FFM now provides that capability directly as part of the Java language. >>>>> And, as a result, DS-Memory will be completely replaced with FFM in the >>>>> DS-Java 9.0.0 release. >>>>> >>>>> Our backward compatibility promise is primarily focused on the binary >>>>> compatibility of being able to read serializations of earlier versions of >>>>> the code with our latest versions. This is still true. However, up until >>>>> recently we have been supporting binary compatibility with very early code >>>>> versions at Yahoo that existed long before our code was first open-sourced >>>>> in August of 2015 (we became part of ASF in 2020). Since Yahoo is in the >>>>> process of obsoleting those systems that used some of that code there is >>>>> no >>>>> reason that we need to keep supporting it. >>>>> >>>>> - With DS-Java 9.0.0, we plan to remove the complex code that >>>>> allowed us to read that old code. If someone, for some reason, should >>>>> need >>>>> to read sketches serialized prior to August of 2015, it is still >>>>> possible >>>>> to do so with DS-java versions prior to 9.0.0, e.g., 8.0.0. Those >>>>> sketches >>>>> can then be re-serialized, which will be able to be read with DS-Java >>>>> 9.0.0 >>>>> and beyond. >>>>> >>>>> The Theta Sketch family was our first family of sketches that we >>>>> developed, and as a result it has some peculiarities. For example, the >>>>> root class is called "Sketch" (because it was the only one). As we >>>>> developed other sketch families, we made the root class names carry more >>>>> meaningful information, e.g., HllSketch, CpcSketch, KllSketch, etc. >>>>> >>>>> - With DS-Java 9.0.0, we will be bringing the Theta Sketch family >>>>> up to the same standard as the other sketches, so the root class will >>>>> be >>>>> called ThetaSketch, and the names of its child classes will be named >>>>> accordingly. >>>>> >>>>> The Theta Sketch family is one of the largest families of sketches >>>>> with many classes, many of which just "evolved" -- and unfortunately, >>>>> with >>>>> a lot of duplication and incomplete coverage. It is hard to understand all >>>>> the relationships and where to find the function you might be looking for. >>>>> >>>>> - With DS-Java 9.0.0, we will try to remove much of the >>>>> duplication and provide some better documentation to help you find >>>>> your way >>>>> around. >>>>> >>>>> We would certainly like to hear from you. >>>>> >>>>> >>>>> >>>>> >>>>>
