-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Performance
Ladies and Gentlemen, here are the latest performance benchmarks on our Open Source Firebase project - a realtime, decentralized, offline-first, graph database!
Thank you.
We're getting even better numbers on other devices:
- Android phone, ~5M ops/sec.
- Macbook Air, Chrome, ~30M ops/sec.
- Macbook Pro, Chrome Canary, ~80M ops/sec.
- Lenovo netbook, IE6, ~100K ops/sec.
Compare to Redis at 0.5M ops/sec (cached reads, Macbook Air), even with pipeline optimizations turned on, here: https://redis.io/topics/benchmarks .
This test ran on the cheapest Windows laptop available on the market. A $150 2GB Atom CPU which was loaded up with IETester to do some performance benchmarking. These numbers represent a breakthrough in performance not possible with other databases. A technical deep dive is highlighted on the Read the Source podcast:
For those who want the short summary:
- Use PTSD (Performance Testing Speed Development, like TDD) to micro-optimize your code without getting lost in micro-optimizations. This tech talk is a must watch - @alexhultman, author of the high performance C++ uWebSockets library praised it here.
- Reduce function calls and prioritize hot code paths as the first if statements.
- Do work only once, then use centralized caching and cache updating to skip ever doing work again.
Resulting caveats:
- These performance benchmarks rarely have cache misses, but replicates other database benchmarks (like Redis) which do the same. Measuring disk I/O is not very interesting.
- Take all performance testing benchmarks with a huge grain of salt. That is why we're working on panic, a distributed testing runner.
Check out our main GitHub repo to learn more or hop on the gitter to chat!