Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Request for benchmarks and comparison with alternatives #10

Open
manueltarouca opened this issue Sep 16, 2024 · 2 comments
Open

Request for benchmarks and comparison with alternatives #10

manueltarouca opened this issue Sep 16, 2024 · 2 comments

Comments

@manueltarouca
Copy link

Hi,
I was wondering if you have any benchmarks available that demonstrate jaqt performance, especially in comparison to lightweight databases like SQLite (when applicable). Since you mentioned that there are no speed improvements or indexes over normal Array.filter and Array.map, it would be helpful to see how jaqt performs in various e2e scenarios.

Thanks in advance.

@poef
Copy link
Member

poef commented Sep 17, 2024

Sorry, no. JAQT is just a light wrapper around map/reduce/filter, so it's going to be close to the native speed of those functions. I have done some optimization to make sure that all JAQT functions do as little work possible inside the loop. There is still some optimization to be done for reduce though.
I've tried to make sure that each function (where/select/groupBy/reduce) only 'visits' each object once, to make sure its using the cpu caches optimally. I do have an example of a project that uses JAQT internally, with a reasonably large dataset (imdb movie titles, about 680.000 objects). See https://github.com/SimplyEdit/simplystore-example-imdb for more information. Loading/starting takes a bit of time, since its also doing indexing at that point.

@Potherca
Copy link
Member

@poef I think it wouldn't be too much work to make a first naive setup.

I've had some success with https://www.measurethat.net/ in the past, although that is pure client-side.
But there are plenty of other choices, if needed.

I think the main question would be which alternatives, and which calls are comparable?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants