futhark VS awkward

Compare futhark vs awkward and see what are their differences.

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
futhark awkward
52 4
2,299 793
2.1% 0.6%
9.8 9.6
2 days ago 5 days ago
Haskell Python
ISC License BSD 3-clause "New" or "Revised" License
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.

futhark

Posts with mentions or reviews of futhark. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-06-19.

awkward

Posts with mentions or reviews of awkward. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-07-03.
  • Efficient Jagged Arrays
    2 projects | news.ycombinator.com | 3 Jul 2023
    there's a whole ecosystem in Python originally developed for high energy physics data processing: https://github.com/scikit-hep/awkward all because Numpy demands square N-dimensional array

    Same technique used everywhere, here's a simple Julia pkg for the same thing: https://github.com/JuliaArrays/ArraysOfArrays.jl/blob/3a6f5b...

    But Julia at least has the decency to just support ragged Vector{Vector} out of the box, and it's not that slow

  • The hand-picked selection of the best Python libraries released in 2021
    12 projects | /r/Python | 21 Dec 2021
    Awkward Array.
  • Awkward: Nested, jagged, differentiable, mixed type, GPU-enabled, JIT'd NumPy
    5 projects | news.ycombinator.com | 16 Dec 2021
    Numba's @vectorize decorator (https://numba.pydata.org/numba-doc/latest/user/vectorize.htm...) makes a ufunc, and Awkward Array knows how to implicitly map ufuncs. (It is necessary to specify the signature in the @vectorize argument; otherwise, it won't be a true ufunc and Awkward won't recognize it.)

    When Numba's JIT encounters a ctypes function, it goes to the ABI source and inserts a function pointer in the LLVM IR that it's generating. Unfortunately, that means that there is function-pointer indirection on each call, and whether that matters depends on how long-running the function is. If you mean that your assembly function is 0.1 ns per call or something, then yes, that function-pointer indirection is going to be the bottleneck. If you mean that your assembly function is 1 μs per call and that's fast, given what it does, then I think it would be alright.

    If you need to remove the function-pointer indirection and still run on Awkward Arrays, there are other things we can do, but they're more involved. Ping me in a GitHub Issue or Discussion on https://github.com/scikit-hep/awkward-1.0

What are some alternatives?

When comparing futhark and awkward you can also consider the following projects:

arrayfire-rust - Rust wrapper for ArrayFire

sqlmodel - SQL databases in Python, designed for simplicity, compatibility, and robustness.

dex-lang - Research language for array processing in the Haskell/ML family

DearPyGui - Dear PyGui: A fast and powerful Graphical User Interface Toolkit for Python with minimal dependencies

Halide - a language for fast, portable data-parallel computation

uproot5 - ROOT I/O in pure Python and NumPy.

julia - The Julia Programming Language

django-ninja - 💨 Fast, Async-ready, Openapi, type hints based framework for building APIs

BQN - An APL-like programming language. Self-hosted!

numba-dpex - Data Parallel Extension for Numba

kompute - General purpose GPU compute framework built on Vulkan to support 1000s of cross vendor graphics cards (AMD, Qualcomm, NVIDIA & friends). Blazing fast, mobile-enabled, asynchronous and optimized for advanced GPU data processing usecases. Backed by the Linux Foundation.

skweak - skweak: A software toolkit for weak supervision applied to NLP tasks