DEV Community

Dev Bhamaria
Dev Bhamaria

Posted on AI-assisted

What happened when I ran my PDF tools on a PC with 1 GB of memory

IHatePDF is a free, open-source set of 28 PDF tools that runs on your own machine. Nothing is uploaded. That also means it has to live with whatever memory your PC has, and scanned PDFs get big fast. So I tested what happens on small machines.

The test

I generated dummy scans: 300 dpi JPEGs of 10, 50, 150 and 500 MB (the 500 MB one is 144 pages). I ran Compress, Watermark, Merge, Rotate, Page numbers and PDF to Word on all of them. To pretend to be a smaller PC, I forced a memory budget for the app: 624 MB (a 4 GB PC with some margin), 1 GB (4 GB), 3 GB (6 GB), 4 GB (8 GB), 8 GB (16 GB), and no limit. The test machine is a Windows 11 laptop with 32 GB of RAM, running the installed app, not a dev build.

I wanted to test low memory because I want this to run on laptops and college PCs, not just on my own machine.

Version 1.3.0 failed

At a 1 GB budget, Compress stopped on every scan, even the 10 MB one, within a second or two. Watermark on the 500 MB scan stopped too.

Version 1.3.1

Same machine, same 1 GB budget:

Scan Compress result Time
10 MB 831 KB 2.9 s
50 MB 4.04 MB 10.6 s
150 MB 11.7 MB 31.3 s
500 MB 38.4 MB 120.6 s

Watermark on the 500 MB scan took 2.6 s, with the whole app peaking at 1.1 GB.

Across all six tools and all six budgets, nothing failed outright on the 6 GB, 8 GB and 16 GB budgets. At the tightest budgets some jobs slowed down but finished, and none of the 144 scan runs or 56 student-file runs was stopped.

Where it still breaks

I wrote the limits into the report as well:

  • Compress can stop with "Windows is almost out of memory" when Windows itself is within about 160 MB of the memory it keeps free. Other tools slow down and finish.
  • PDF to Word leaves out sideways (rotated) text, in any language.
  • Page previews are about 8 times slower at a 1 GB budget.

The app now refuses a single 300-megapixel image before starting (0.4 s), and stops a running job in about 2.4 s if Windows is down to 300 MB free. It stays usable afterwards.

What surprised me was how much memory the app used. If I did it again, I would design for low memory from the first day, instead of changing the structure of the code later.

Links

If you test offline or local-first tools on small machines, I'd like to know how you test them.

Top comments (0)