Our great sponsors
- SonarQube - Static code analysis for 29 languages.
- ONLYOFFICE ONLYOFFICE Docs — document collaboration in your environment
- InfluxDB - Access the most powerful time series database as a service
- CodiumAI - TestGPT | Generating meaningful tests for busy devs
ClickHouse® is a free analytics DBMS for big data
You don't have to give up clean code to achieve high performance. The complexity can be isolated and contained.
For example, take a look at ClickHouse codebase: https://github.com/ClickHouse/ClickHouse/
There is all sort of things: leaky abstractions, specializations for optimistic fast paths, dispatching on algorithms based on data distribution, runtime CPU dispatching, etc. Video: https://www.youtube.com/watch?v=ZOZQCQEtrz8
But: it has clean interfaces, virtual calls, factories... And, most importantly - a lot of code comments. And when you have a horrible piece of complexity, it can be isolated into a single file and will annoy you only when you need to edit that part of the project.
Disclaimer. I'm promoting ClickHouse because it deserves that.
Jbuilder: generate JSON objects with a Builder-style DSL
For the longest time Rails was also incredibly slow at generating JSON, of all things. JBuilder  was a few orders of magnitude slower than using .to_json directly or other libraries.
 https://github.com/rails/jbuilder, maintained by DHH and the Rails team. AFAIR, the "official" JSON serialization DSL.
Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.
Run compilers interactively from your web browser and interact with the assembly
Honestly in many cases you can have your cake and eat it too if you just write in a functional or data-flow style rather than a rigorous OO style. Since this is C++, using std::algorithm or another algorithms library would let you abstract your implementation details while relying on the compiler's ability to optimise/vectorise/inline code as needed.
This applies doubly so if you can rely on templates & structural typing to push your polymorphism to compile time. clang & gcc are surprisingly good at optimisation as long when you don't have to bounce off a vtable and code is clean / avoids "manual optimisation".
Also while I'm not saying I don't believe the author here, I wish they would have used https://quick-bench.com/ or https://godbolt.org/ so that readers could trivially verify the results & methodology.
SQLite builds for WASI since 3.41.0
5 projects | news.ycombinator.com | 24 May 2023
Unwinding the Stack the Hard Way
3 projects | news.ycombinator.com | 16 Apr 2023
We’re the Meilisearch team! To celebrate v1.0 of our open-source search engine, Ask us Anything!
14 projects | reddit.com/r/rust | 8 Feb 2023
Go devs that learned Rust, what are your thoughts on it?
7 projects | reddit.com/r/golang | 8 Jan 2023
Materialized View: SQL Queries on Steroids
6 projects | news.ycombinator.com | 31 Dec 2022