Click-V: A RISC-V emulator built with ClickHouse SQL

github.com

62 points

calcifer

2 days ago


9 comments

blyry 2 days ago

DUDE I was daydreaming about this the other day, but with postgres. Can I ask why you chose clickhouse? My idea was that every op could be an insert, and then the resulting state would be a transaction and logged? So you'd get basically logged cpu state? Idk cool stuff I'm pumped to dive in tonight.

  • caust1c 2 days ago

    Spencer is an engineer at ClickHouse, so it makes sense.

  • meepmorp 2 days ago

    based on this line from the readme, the answer to your question is likely "because":

    > This emulator makes ClickHouse truly Turing complete. We are one step closer to running ClickHouse in ClickHouse.

    • blyry 2 days ago

      lol for sure, I'm genuinely curious though, like maybe op is a clickhouse dev? Or maybe they had the cursed idea and decided clickhouse was the best fit for various reasons?

      • jitl 2 days ago

        Postgres does not have incremental view maintenance for its materialized views like clickhouse does. This means the implementation strategy would need to be quite different. Perhaps triggers is enough and of course if you use functions then sure, you can make an emulator there too.

      • blyry 2 days ago

        okay did like 10 seconds of introspection and OP probably isn't the repo author, and the repo author definitely looks like they work at clickhouse

    • cptnapalm 2 days ago

      "Because" is always the most fun reason.

hobs 2 days ago

This is amazing, and also psychic damage inducing - I thought I had seen some terrifying SQL things and then I see "ClickOS UDF"