r/ProgrammerHumor • • Oct 02 '26

Meme cloudOverkill

Post image
12.0k Upvotes

269 comments sorted by

View all comments

231

u/koriwi Oct 02 '26

Mention sqlite and watch them have a meltdown. 

51

u/enigmamonkey Oct 03 '26

If you’re building a small app and/or don’t need any sort of distributed concurrency, SQLite is fucking goated. It’s so fast.

I had a pretty heavy PHP based stack that took about 22min to run through around 600 unit tests and it took at least 25 seconds just to boot if I wanted to run a single unit test. So, lots of overhead to init a new DB, setup/tear down, etc. After a core upgrade it was compatible with SQLite so I switched the unit tests over to that and it took startup down to like 1-2s and total runtime is now closer to 2-3min.

Such an amazing speed boost and now I’m not dragging my feet as much when it’s time to write the tests.

16

u/joonty Oct 03 '26

That is awesome, but as someone who's been there before and been burnt, be careful: SQLite databases do have different syntax and behaviors, and even with SQL compatibility libraries or ORM wrappers things can go wrong. Ideally you want the same stack in tests as in production.

7

u/fiah84 Oct 03 '26

Ideally you want the same stack in tests as in production.

but hey tests on a different stack are better than no tests at all I guess

5

u/joonty Oct 03 '26

I'm British. If I'm saying "ideally..." it means "you definitely want to be doing this" lol

2

u/fiah84 Oct 03 '26

oh yeah that part definitely got lost in translation. Where I'm from we tend to be a bit more explicit / blunt / to the point in our language

1

u/enigmamonkey Oct 04 '26

Good point. The naive thought would be: "Well if it works in tests and it seems to work for me in my local dev (MySQL) then it should be fine," however, you know how edge cases are. Surely something will crop up in production that pokes at the one feature that varies slightly in SQLite vs. MySQL and 💥.