pggen VS ccgo

Compare pggen vs ccgo and see what are their differences.

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
pggen ccgo
2 5
58 -
- -
0.6 -
about 1 month ago -
Go
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.

pggen

Posts with mentions or reviews of pggen. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-09-08.
  • We Went All in on Sqlc/Pgx for Postgres and Go
    31 projects | news.ycombinator.com | 8 Sep 2021
    If you want a code generator like this that has support for that kind of thing, https://github.com/opendoor/pggen can automatically infer these kinds of relationships based on foreign key relationships and emit slices of pointers to connect the records together in memory. It can even figure out 1-1 relationships if there is a UNIQUE index on the foreign key. There is a little mini-DSL for specifying exactly how much of the transitive closure of a given record you want to get filled in for you.

ccgo

Posts with mentions or reviews of ccgo. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-10-13.
  • Tcl Ported to Go
    9 projects | news.ycombinator.com | 13 Oct 2022
    Is "ported" the right term here? It know the repo's README says "CGo-free port", but this is the C version of TCL transpiled from C to Go (see the ~13MB .go files per platform in the "lib" directory). Which is a very cool idea, and the author has done the same thing with SQLite, to avoid CGo (https://gitlab.com/cznic/sqlite).

    Here's a link to his C to Go translator: https://gitlab.com/cznic/ccgo

  • Go performance from version 1.2 to 1.18
    14 projects | news.ycombinator.com | 3 Feb 2022
    Totally agreed: almost all users (me/GoAWK included) want performance and don't care nearly as much about simplicity under the hood. Simplicity of implementation is of value for educational purposes, but we could easily have a small, simple 3rd party package for that. Go's regexp package is kinda too complex for a simple educational demonstration and too simple to be fast. :-)

    I actually tried BurntSushi's https://github.com/BurntSushi/rure-go (bindings to Rust's regex engine) with GoAWK and it made regex handling 4-5x as fast for many regexes, despite the CGo overhead. However, rure-go (and CGo in general) is a bit painful to build, so I'm not going to use that. Maybe I'll create a branch for speed freaks who want it.

    I've also thought of using https://gitlab.com/cznic/ccgo to convert Mawk's fast regex engine to Go source and see how that performs. Maybe on the next rainy day...

  • CGo-free SQLite adds windows/amd64 support
    6 projects | /r/golang | 13 Nov 2021
    FYI it uses facility to translate C to go (https://gitlab.com/cznic/ccgo), there is a similar project does the same thing (https://github.com/elliotchance/c2go).
  • We Went All in on Sqlc/Pgx for Postgres and Go
    31 projects | news.ycombinator.com | 8 Sep 2021
    It's not really pure go, it's transpiled using https://gitlab.com/cznic/ccgo

    Just about all the code looks like this:

      // Call this routine to record the fact that an OOM (out-of-memory) error
  • CXGO: C to Go Translator written entirely in Go
    1 project | /r/golang | 4 Aug 2021
    It would be interesting to read a comparison against https://gitlab.com/cznic/ccgo

What are some alternatives?

When comparing pggen and ccgo you can also consider the following projects:

pggen - Generate type-safe Go for any Postgres query. If Postgres can run the query, pggen can generate code for it.

go - The Go programming language

sqlparser-rs - Extensible SQL Lexer and Parser for Rust

regex-benchmark - It's just a simple regex benchmark of different programming languages.

goqu - SQL builder and query library for golang

gnorm - A database-first code generator for any language

sqlite

pike - Generate CRUD gRPC backends from single YAML description.

rure-go - Go bindings to Rust's regex engine.

proteus - A simple tool for generating an application's data access layer.

fileconst - Turns text file contents into Go constants