-
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.
While I'm here talking about optimization -- since this might be of interest to this subreddit -- in this day and age, if you're doing any kind of image processing, I highly recommend learning *Halide* (https://halide-lang.org/). It's simply amazing. Four (brilliant) Stanford students invented it. It's a layer on top of C++, specific to the domain of image processing. Many of the big tech companies use it heavily now (for example, the Pixel camera . It basically lets you specify your algorithm separately from the desired optimizations (the "schedule"). Ironically, the algorithm usually ends up being quite a bit more compact than the C++ version, and the schedule is often just a few lines of code. The schedule lets you specify how you want to do parallelization (over multiple cores), vectorization (SIMD), tiling (to improve cache coherency), and it even handles boundary conditions (the processing of pixels near edges, when your kernels have spatial support) for you. The Halide compiler then turns it all into optimal code for you, and that code is FAST -- the compiled Halide code often beats human experts (writing with intrinsics), sometimes by big margins. And it's a huge time saver; making these optimizations is error-prone and time-consuming, but with Halide, you can do in hours what used to take weeks, and with fewer bugs.