esqueleto VS regex-benchmark

Compare esqueleto vs regex-benchmark and see what are their differences.

esqueleto

Bare bones, type-safe EDSL for SQL queries on persistent backends. (by prowdsponsor)

regex-benchmark

It's just a simple regex benchmark of different programming languages. (by mariomka)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
esqueleto regex-benchmark
5 9
177 308
0.0% -
0.0 0.0
over 7 years ago 13 days ago
Haskell Dockerfile
BSD 3-clause "New" or "Revised" License MIT 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.

esqueleto

Posts with mentions or reviews of esqueleto. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-01-15.
  • Revisiting Haskell after 10 years
    8 projects | dev.to | 15 Jan 2024
    Writing Haskell programs that rely on third-party packages is still an issue when it’s a not actively maintained package. They get out of date with the base library (Haskell’s standard library), and you might see yourself in a situation where you need to downgrade to an older version. This is not exclusive to Haskell, but it happens more often than I’d like to assume. However, if you only rely on known well-maintained libraries/frameworks such as Aeson, Squeleto, Yesod, and Parsec, to name a few, it’s unlikely you will face troubles at all, you just need to be more mindful of what you add as a dependency. There’s stackage.org now, a repository that works with Stack, providing a set of packages that are proven to work well together and help us to have reproducible builds in a more manageable way—not the solution for all the cases but it’s good to have it as an option.
  • How to use PostgreSQL with Haskell: persistent + esqueleto
    1 project | dev.to | 3 Oct 2023
    However, we can use Esqueleto (”a bare bones, type-safe EDSL for SQL queries”) with Persistent's serialization to write type-safe SQL queries. It’s unlikely that you want to use Persistent by itself with SQL, so let’s use and review them together.
  • What databases do you find the most productive to connect to Haskell?
    3 projects | /r/haskell | 29 Dec 2022
    Postgresql-simple is a great library, it makes a nice use of overloaded strings to do the job. Some other nice libraries to keep an eye on are opaleye (postgres specific, which is equally nice but could be a bit difficult to get why the types are so big) and a combination of persistent (not DB specific! can work on postgres, sqlite, but also noSQL DBs like mongo, it's still easy to learn but you lose some things, such as joins due to the power of being agnostic) + esqueleto for type safe joins (be sure to look up the experimental package, it's a more comfortable syntax that will soon become the default one).
  • Notes on Luca Palmieri's Zero to Production in Rust
    1 project | /r/rust | 26 Jun 2022
    Using esqueleto in one of my haskell projects was a huge time sink and a major barrier to entry for colleagues.
  • Go performance from version 1.2 to 1.18
    14 projects | news.ycombinator.com | 3 Feb 2022
    In Haskell: https://hackage.haskell.org/package/esqueleto

    Either it analyzes the given SQL to determine the in/out types of each SQL query, or it calls the database describe feature at compile-time.

regex-benchmark

Posts with mentions or reviews of regex-benchmark. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-08-26.
  • Best regexp alternative for Go. Benchmarks. Plots.
    8 projects | dev.to | 26 Aug 2023
    Before we start comparing the aforementioned solutions, it is worth to show how bad things are with the standard regex library in Go. I found the project where the author compares the performance of standard regex engines of various languages. The point of this benchmark is to repeatedly run 3 regular expressions over a predefined text. Go came in 3rd place in this benchmark! From the end....
  • Rust vs. Go in 2023
    9 projects | news.ycombinator.com | 13 Aug 2023
    * Let you clone a map without rehashing every key to a new seed. I generally measure at least 15x speedup from this alone, unlocking very useful design patterns like "clone a map and apply a few temporary updates for a one-off operation like validation or simulation" with no extra code complexity. Go gives you no better option than slowly rehashing the entire map.

    And that's just hash maps. How about Go's regex engine being one of the slowest in the world while Rust's regex crate being one of the fastest:

    https://github.com/mariomka/regex-benchmark#optimized

  • Regex for lazy developers
    1 project | dev.to | 4 Jan 2023
    Languages Regex Benchmark
  • Elon is your new boss, time to refactor!
    1 project | /r/ProgrammerHumor | 30 Nov 2022
    Java is still pretty bad compared to C# (not to mention Rust or Nim)
  • Lyra: Fast, in-memory, typo-tolerant, full-text search engine in TypeScript
    10 projects | news.ycombinator.com | 29 Jul 2022
    https://github.com/mariomka/regex-benchmark

    And the always interesting techempower Project, which leaves the implementation to participants of each round. https://www.techempower.com/benchmarks/#section=data-r21&tes...

    Choose whatever category you wish there, js is faster in then go in almost all categories there.

    Even though I said it before, I'm going to repeat myself as I expect you to ignore my previous message: the language doesn't make any implementation fast or slow. You can have a well performing search engine in go, and JS. The performance difference will most likely not be caused by the language with these two choices. And the same will apply with C/Rust. The language won't make the engine performant creating a maximally performant search engine is hard

  • i'd like you to meet regex-
    3 projects | /r/ProgrammerHumor | 14 Mar 2022
    Also, regex engines are not created equally, at all. One of the best writeups I've ever read is from the ripgrep blog. Burntsushi knows regex. There's also this benchmark site which illustrates how general language performance is an entirely different metric than regex performance. Don't assume those benchmarks will cover your particular use case, though--different regex engines might handle your particular situation differently.
  • Go performance from version 1.2 to 1.18
    14 projects | news.ycombinator.com | 3 Feb 2022
    Interesting. Looking at this repo, they have

    Rust -> Ruby -> Java -> Golang

    https://github.com/mariomka/regex-benchmark

    Though it appears the numbers are two years old or so, and only for 3 specific regexes.

  • Hajime can now get hardware information about your MC server, all from Minecraft itself!
    3 projects | /r/admincraft | 31 Jan 2022
    id also be careful in claiming C++ std regex is faster than python, unless you actually have proof. there's a ton of information that in many cases its actually slower. https://github.com/mariomka/regex-benchmark. have you actually benchmarked your code? or was it just a naive assumption that because its C++ its just fast?
  • A Complete Course of the Raku programming language
    4 projects | news.ycombinator.com | 14 Jan 2021
    It is a matter of personal preference.

    I find that regular expressions and text-wrangling tasks are faster and easier in Perl than in other programming languages due to its accessible syntax and regular expression engine speed.

    This article shows the regular expression syntax in several popular programming languages: https://cs.lmu.edu/~ray/notes/regex/

    This GitHub repo gives some regex performance test benchmarks: https://github.com/mariomka/regex-benchmark Perl is pretty fast among the scripting languages that were benchmarked.

    If you are familiar with C / C++, then learning Perl is relatively fast and easy: https://perldoc.perl.org/perlintro

What are some alternatives?

When comparing esqueleto and regex-benchmark you can also consider the following projects:

opaleye

hyperscan - High-performance regular expression matching library

yxdb-utils - Utilities for parsing Alteryx Database format

regex - An implementation of regular expressions for Rust. This implementation uses finite automata and guarantees linear time matching on all inputs.

groundhog - This library maps datatypes to a relational model, in a way similar to what ORM libraries do in OOP. See the tutorial https://www.schoolofhaskell.com/user/lykahb/groundhog for introduction

sqlx - 🧰 The Rust SQL Toolkit. An async, pure Rust SQL crate featuring compile-time checked queries without a DSL. Supports PostgreSQL, MySQL, and SQLite.

hocilib - A lightweight Haskell binding to the OCILIB C API

orama - 🌌 Fast, dependency-free, full-text and vector search engine with typo tolerance, filters, facets, stemming, and more. Works with any JavaScript runtime, browser, server, service!

beam - A type-safe, non-TH Haskell SQL library and ORM

raku-course

mysql-simple - A mid-level client library for the MySQL database, intended to be fast and easy to use.

rakudo-appimage