5 ms·
The core of it is Rust: > Very fast kernels for SQL primitives like joins, filtering and aggregations. Quokka uses Polars to implement these. (I sponsor Polars
by eatonphil 4y ago
The core of it is Rust:
> Very fast kernels for SQL primitives like joins, filtering and aggregations. Quokka uses Polars to implement these. (I sponsor Polars on Github and you should too.) I am also exploring DuckDB, but I have found Polars to be faster so far.
- marsupialtail_2 4y agothat's certainly one way to look at it
- eatonphil 4y agoAm I incorrect? Elsewhere in the thread you say this project is pure Python and then in the post you say you use a Rust library for queries. Am I misunderstanding something?
- scotty79 4y agoCan't a pure Python project use any library that's not a pure Python project? Is python-non-purity something that taints all dependants for you?
- eskaytwo 4y agoPure-python commonly is used to refer to code that has no external dependencies.
- eatonphil 4y agoWhen people say "pure X", to me, it normally means they didn't involve an FFI or external compiler. This is an often beneficial thing (though also often at the expense of performance and maybe correctness) since it simplifies your build process. For example, here [0] is a "pure Python postgres driver" and the implication is that it doesn't use libpg. Or see also this discussion [1]. I don't mean that the author should or shouldn't do whatever they want. I just wouldn't use the term "pure" here or even say this is an engine written in Python since a large chunk of it is not written in Python. That doesn't mean this is not a cool project. It's a cool project! [0] https://github.com/tlocke/pg8000 https://github.com/tlocke/pg8000 [1] https://www.reddit.com/r/learnpython/comments/nktut1/eli5_the_difference_between_sqlalchemy_pg8000/ https://www.reddit.com/r/learnpython/comments/nktut1/eli5_th...
- misnome 4y agoTechnically it’s worded that “[they] only wrote python”, which is true, in a literal sense. I agree that saying “only” python gives an inaccurate implication, but it seems non-malicious and strictly correct. I don’t think they are trying to be misleading.
- marsupialtail_2 4y agoI only wrote Python. I am using C++ and Rust libraries
- tmtvl 4y agoIf I write a shell script looking something like: #!/bin/sh exec rg $@ Then I did not actually write ripgrep in pure shell.
- _zoltan_ 4y agoyour example clearly has nothing to do with the OP's claims.
- mypalmike 4y ago"Pure Python" ultimately means that it all runs within the python interpreter, with no dependencies on code that runs outside of the interpreter (standard library notwithstanding).
- deleted 4y ago[deleted]
- deaddodo 4y agoPyArrow is also a CPython extension wrapping a C++ library. I agree that it’s a little disingenuous to call it “pure Python” when the two libraries doing the heavy lifting are non-Python; but it’s not a lie that the entirety of the Quokka-specific codebase is Python. Personally, what I would be more interested in (and what I thought this would be from the title) is a full SQL engine wholesale coded in Python, a la SQLite. Even if it wasn’t super performant or functional.
- eatonphil 4y ago> Personally, what I would be more interested in (and what I thought this would be from the title) is a full SQL engine wholesale coded in Python, a la SQLite. Even if it wasn’t super performant or functional. Here you go! https://news.ycombinator.com/item?id=34192138 https://news.ycombinator.com/item?id=34192138