Search that leaves your disk alone.
OpenBench is getting a search that finds any file on your Amiga as you type, without ever crawling your drives. It learns from what you already do, writes almost nothing, and stays quick on a 68020.
On most desktop systems, turning on search means an indexer that walks every folder on every drive, then keeps watching and re-scanning. Disks chatter, fans spin up and memory fills, and on a slow machine the whole system can stall. An Amiga with a spinning hard disk and a few megabytes of RAM can't afford any of that, so we designed OpenBench's search the other way round.
The usual way, and ours.
| A typical desktop indexer | OpenBench search | |
|---|---|---|
| When you switch it on | Walks every folder on every drive | Reads nothing |
| Where it learns from | Its own crawl, again and again | The drawers you open and the files you save |
| When a disk is inserted | Re-scans it | Reads one block |
| What it writes | A database, updated as it goes | Only what changed, a block at a time, when the disk is quiet |
| Memory | Kept, whatever else needs it | Given back the moment the system runs short |
| Background work | Constant | None |
Every read counts once.
An Amiga drive already reads each drawer you open, and dos.library already handles every file you save. OpenBench search simply keeps what passes through, so it never has to go and look for itself.
It learns as you work
Open a drawer in OpenBench, list one in the Shell or browse in a file requester, and its contents go into the index at no extra cost: the disk was read anyway. Create, rename or delete a file and the index hears about it in the same moment.
Has this disk changed?
When an FFS or PFS3 disk appears, one block tells us whether it was changed somewhere else, such as on another Amiga or a PC. If it wasn't, nothing more is read. If it was, its results are marked "may be out of date", and they refresh drawer by drawer as you use them. Nothing is rescanned behind your back.
Only the difference
The index lives in RAM. The copy on disk is a snapshot plus a short list of changes. Opening a drawer that hasn't changed writes nothing at all. Real changes are gathered up and written one block at a time, once the disk has been quiet for half a minute.
It gives memory back
The index tells exec it can be freed, and it is the first thing to go when another program needs memory. It reads itself back in one sequential read the next time you search.
A one-step filter
Every name carries a small fingerprint of the letters in it. A search skips most names with a single comparison and only checks the rest in full. Each letter you type then searches only the previous results.
Switched off, nothing lost
Amigas are simply switched off, so the most that can go missing is the last half-minute of changes, and the index knows when that has happened. It is never silently wrong, and it never writes to floppies or to the disk it is indexing.
The numbers, small on purpose.
These are our design estimates. We will replace them with measurements on real 68020 and 68040 machines before release.
| 20,000 files | 100,000 files | |
|---|---|---|
| Index in memory | about 560 KB | about 2.8 MB |
| A search on a 68020 at 14 MHz | about 0.15 s | about 0.7 s |
| A search on a 68040 at 25 MHz | about 0.02 s | about 0.1 s |
| Disk writes in a busy session | a few blocks | a few blocks |
| Listing every drawer without an index | about 4 minutes | far longer |
With less memory to spare, OpenBench keeps only the names in RAM, or only the drawer list, and reads the rest when you search.
Where it is today.
- A study of what every Amiga filesystem keeps on disk
- The design, published for review on 15 October 2026
- Search within the open drawer, already in OpenBench
- Measuring real disks and real CPUs
- Building the index and the search across drawers and drives
- Folder volumes on your PC, indexed on the PC so the Amiga reads nothing at all