pogi
Reference

Benchmarks

How pogi's start-up time, memory and speed were measured, and on what.

These are the numbers on pogi's website and how we got them. All of them were measured on 2026-10-16 on an Apple M5 with 32 GB of memory, using the pogi v0.1.0 release build. The machine was also running other work at the time, so a quiet machine may do better. Your numbers will differ with your machine.

MeasureResultHow
Start-up timeabout 25 mspogi start with default flags, timed from launch to the Ready. line, warm (after one run that pays the operating system's first-launch check). Each run in a fresh shell and a fresh data folder. Median of 6 runs: 23 ms.
Memory at idleabout 64 MBResident memory (ps -o rss) half a second after Ready.. Median of 10 runs.
Writes per secondabout 20,00020,000 signed DynamoDB PutItem calls over localhost, 8 at a time, with ab (ApacheBench), after a 2,000-call warm-up. No failed calls.
Memory under loadabout 140 MBResident memory right after that burst.
One call, start to finishabout 0.1 msThe same call with ab -c 1, 5,000 calls, mean time per call.

Download size

FileSize
Release binary (-trimpath -s -w, as the release build makes it)77.6 MB
Release download (.tar.gz)27.0 MB
A plain go build (keeps debug symbols)109.7 MB

Run it yourself

pogi start
# In a second terminal: create a table, then send the same signed PutItem 20,000 times, 8 at a time.
eval "$(pogi env)"
aws dynamodb create-table --table-name bench \
  --attribute-definitions AttributeName=pk,AttributeType=S \
  --key-schema AttributeName=pk,KeyType=HASH --billing-mode PAY_PER_REQUEST

ab needs a request body and the request's headers. Sign one PutItem request with your SDK's signer (or copy the headers from aws dynamodb put-item --debug), save the JSON body to body.json, then run ab -n 20000 -c 8 -p body.json -T application/x-amz-json-1.0 -H "X-Amz-Target: DynamoDB_20120810.PutItem" -H "X-Amz-Date: …" -H "Authorization: …" http://localhost:7644/. pogi does not check signatures by default, so one signed request can be sent many times.

On this page