t-digest VS CPython

Compare t-digest vs CPython and see what are their differences.

t-digest

A new data structure for accurate on-line accumulation of rank-based statistics such as quantiles and trimmed means (by tdunning)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
t-digest CPython
9 1,319
1,926 59,856
- 1.4%
3.3 10.0
5 months ago 4 days ago
Java Python
Apache License 2.0 GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

t-digest

Posts with mentions or reviews of t-digest. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-07-21.
  • Ask HN: How do you deal with information and internet addiction?
    1 project | news.ycombinator.com | 8 Feb 2023
    > I get a lot of benefit from this information but somehow it feels shallow.

    I take a longer view to this. For example, a few years ago I read about an algorithm to calculate percentiles in real time. [0]

    It literally just came up at work today. I haven't used that information but maybe two times since I read it, but it was super relevant today and saved my team potential weeks of development.

    So maybe it's not so shallow.

    But to your actual question, I have a similar problem. The best I can say is that deadlines help. I usually put down the HN and Youtube when I have a deadline coming up. And not just at work. I make sure my hobbies have deadlines too.

    I tell people when I think something will be done, so they start bugging me about it when it doesn't get done, so that I have a "deadline". Also one of my hobbies is pixel light shows for holidays, which come with excellent natural deadlines -- it has to be done by the holiday or it's useless.

    So either find an "accountability buddy" who will hold you to your self imposed deadlines, or find a hobby that has natural deadlines, like certain calendar dates, or annual conventions or contests that you need to be done by.

    [0] https://github.com/tdunning/t-digest

  • Ask HN: What are some 'cool' but obscure data structures you know about?
    54 projects | news.ycombinator.com | 21 Jul 2022
    I am enamored by data structures in the sketch/summary/probabilistic family: t-digest[1], q-digest[2], count-min sketch[3], matrix-sketch[4], graph-sketch[5][6], Misra-Gries sketch[7], top-k/spacesaving sketch[8], &c.

    What I like about them is that they give me a set of engineering tradeoffs that I typically don't have access to: accuracy-speed[9] or accuracy-space. There have been too many times that I've had to say, "I wish I could do this, but it would take too much time/space to compute." Most of these problems still work even if the accuracy is not 100%. And furthermore, many (if not all of these) can tune accuracy to by parameter adjustment anyways. They tend to have favorable combinatorial properties ie: they form monoids or semigroups under merge operations. In short, a property of data structures that gave me the ability to solve problems I couldn't before.

    I hope they are as useful or intriguing to you as they are to me.

    1. https://github.com/tdunning/t-digest

    2. https://pdsa.readthedocs.io/en/latest/rank/qdigest.html

    3. https://florian.github.io/count-min-sketch/

    4. https://www.cs.yale.edu/homes/el327/papers/simpleMatrixSketc...

    5. https://www.juanlopes.net/poly18/poly18-juan-lopes.pdf

    6. https://courses.engr.illinois.edu/cs498abd/fa2020/slides/20-...

    7. https://people.csail.mit.edu/rrw/6.045-2017/encalgs-mg.pdf

    8. https://www.sciencedirect.com/science/article/abs/pii/S00200...

    9. It may better be described as error-speed and error-space, but I've avoided the term error because the term for programming audiences typically evokes the idea of logic errors and what I mean is statistical error.

  • Monarch: Google’s Planet-Scale In-Memory Time Series Database
    4 projects | news.ycombinator.com | 14 May 2022
    Ah, I misunderstood what you meant. If you are reporting static buckets I get how that is better than what folks typically do but how do you know the buckets a priori? Others back their histograms with things like https://github.com/tdunning/t-digest. It is pretty powerful as the buckets are dynamic based on the data and histograms can be added together.
  • [Q] Estimator for pop median
    1 project | /r/statistics | 16 Sep 2021
    Yes, but if you need to estimate median on the fly (e.g., over a stream of data) or in parallel there are better ways.
  • How percentile approximation works (and why it's more useful than averages)
    8 projects | news.ycombinator.com | 14 Sep 2021
    There are some newer data structures that take this to the next level such as T-Digest[1], which remains extremely accurate even when determining percentiles at the very tail end (like 99.999%)

    [1]: https://arxiv.org/pdf/1902.04023.pdf / https://github.com/tdunning/t-digest

  • Reducing fireflies in path tracing
    1 project | /r/GraphicsProgramming | 3 Aug 2021
    [2] https://github.com/tdunning/t-digest
  • Reliable, Scalable, and Maintainable Applications
    1 project | dev.to | 8 Apr 2021
    T-Digest
  • Show HN: Fast Rolling Quantiles for Python
    2 projects | news.ycombinator.com | 1 Mar 2021
    This is pretty cool. The title would be a bit more descriptive if it were “Fast Rolling Quantile Filters for Python”, since the high-pass/low-pass filter functionality seems to be the focus.

    The README mentions it uses binary heaps - if you’re willing to accept some (bounded) approximation, then it should be possible to reduce memory usage and somewhat reduce runtime by using a sketching data structure like Dunning’s t-digest: https://github.com/tdunning/t-digest/blob/main/docs/t-digest....

    There is an open source Python implementation, although I haven’t used it and can’t vouch for its quality: https://github.com/CamDavidsonPilon/tdigest

CPython

Posts with mentions or reviews of CPython. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-05-07.
  • A library to assist writing memory-unsafe code in "pure" Python
    2 projects | news.ycombinator.com | 7 May 2024
  • OpenBSD 7.3 を 7.4 へ アップグレード
    3 projects | dev.to | 6 May 2024
  • Bitcoin Sentiment Analysis using Python and X (Formerly Twitter)
    1 project | dev.to | 5 May 2024
    Thankfully, Python, the go-to coding language for loads of developers, is here to save the day. It's got some awesome features for diving into text sentiment analysis. With cool libraries like Tweepy, we can sift through X(Twitter) data and snag those interesting tweets about Bitcoin. And then there's TextBlob, a clever tool for understanding the sentiment in text. When it's time to clean up and organize all that data, libraries like pandas and numpy are there to help out. And let's not forget about matplotlib, the master of visualisations that can help us see the trends in sentiment crystal clear. Armed with these tools, developers can really dig deep into social media data and figure out what the general public thinks about Bitcoin.
  • scrape-yahoo-finance
    3 projects | dev.to | 25 Apr 2024
    Web Scraping Tool Development: Develop a Python based web scraping tool capable of extracting data from targeted web pages on Yahoo Finance and presenting the data extracted in a readable format. Our target site relies on AJAX to load and update the data dynamically so we will need a tool that is capable of processing JavaScript.
  • Employee Management System using Python.
    2 projects | dev.to | 21 Apr 2024
    Dealing with piles of papers or scattered Excel sheets for employee information can be a real headache, right? Well, what if I told you there's a smoother way to handle all that? A system that lets you easily store, update, and find details about your employees in just a few clicks. Sounds neat, doesn't it? In this article, we're going to explore creating an employee management system using Python, Tkinter, and SQLite3.
  • Build a Product Receipt Generator using Python.
    1 project | dev.to | 20 Apr 2024
    Python is a versatile tool, and today we're delving into a practical use case that can simplify your daily routines. With the datetime module at your disposal, handling dates and times becomes a breeze, making it perfect for crafting accurate and dynamic product receipts. Whether you're a seasoned Python pro or just starting your coding journey, this article will guide you through each step with ease.
  • Build a Music Player with Python
    2 projects | dev.to | 20 Apr 2024
    When working in Visual Studio Code (VS Code), create a new Python file for our music player project. It's helpful to have separate files for different parts of your project.
  • PEP 744 – JIT Compilation
    1 project | news.ycombinator.com | 18 Apr 2024
    > It provides a meaningful performance improvement for at least one popular platform (realistically, on the order of 5%).

    At first it will not provide a large boost, but it will set the foundations for larger gains in subsequent releases. They link a list of some proposed improvements already underway, with improvement estimates, at https://github.com/python/cpython/issues/115802

  • Featured Mod of the Month: Phil Ashby
    2 projects | dev.to | 16 Apr 2024
    After that, with the basics of software engineering understood, I would move on to a wider use language, with a bigger ecosystem to employ, most likely Python. This would expose me to large system design / distributed systems and architectural challenges...
  • Convert Images Into Pencil Sketch
    2 projects | dev.to | 11 Apr 2024
    Have you ever felt like your photos needed a little extra touch to stand out? Well, get ready because we're about to learn a cool Python trick! We're going to take ordinary photos and turn them into awesome pencil sketches using Python and OpenCV. This will make your pictures look like they were drawn by hand!

What are some alternatives?

When comparing t-digest and CPython you can also consider the following projects:

EvoTrees.jl - Boosted trees in Julia

RustPython - A Python Interpreter written in Rust

timescale-analytics - Extension for more hyperfunctions, fully compatible with TimescaleDB and PostgreSQL 📈

ipython - Official repository for IPython itself. Other repos in the IPython organization contain things like the website, documentation builds, etc.

tdigest - t-Digest data structure in Python. Useful for percentiles and quantiles, including distributed enviroments like PySpark

Vulpix - Fast, unopinionated, minimalist web framework for .NET core inspired by express.js

PSI - Private Set Intersection Cardinality protocol based on ECDH and Bloom Filters

Visual Studio Code - Visual Studio Code

AspNetCoreDiagnosticScenarios - This repository has examples of broken patterns in ASP.NET Core applications

Automatic-Udemy-Course-Enroller-GET-PAID-UDEMY-COURSES-for-FREE - Do you want to LEARN NEW STUFF for FREE? Don't worry, with the power of web-scraping and automation, this script will find the necessary Udemy coupons & enroll you for PAID UDEMY COURSES, ABSOLUTELY FREE!

minisketch - Minisketch: an optimized library for BCH-based set reconciliation

Pandas - Flexible and powerful data analysis / manipulation library for Python, providing labeled data structures similar to R data.frame objects, statistical functions, and much more