private void doPurgePerfTest(final int entryCount) {
        Scanner scan = new Scanner(System.in);

        System.out.print("Press any key to continue . . . ");
        scan.nextLine();

        final Instant fullTestStartTime = Instant.now();

        MapNameFunc mapNameFunc = this::buildMapNameWithoutRefStreamDef;

        setPurgeAgeProperty(StroomDuration.ofDays(1));
        int refStreamDefCount = 30;
        int keyValueMapCount = 2;
        int rangeValueMapCount = 0;
        int totalMapEntries = (refStreamDefCount * keyValueMapCount) + (refStreamDefCount * rangeValueMapCount);

        int totalKeyValueEntryCount = refStreamDefCount * keyValueMapCount * entryCount;
        int totalRangeValueEntryCount = refStreamDefCount * rangeValueMapCount * entryCount;
        int totalValueEntryCount = (totalKeyValueEntryCount + totalRangeValueEntryCount) / refStreamDefCount;

        List<RefStreamDefinition> refStreamDefs1 = null;

        final Instant startInstant = Instant.now();

        LOGGER.info("-------------------------load starts here--------------------------------------");
        refStreamDefs1 = loadBulkDataWithLargeValues(
                refStreamDefCount,
                keyValueMapCount,
                entryCount,
                0,
                mapNameFunc);

        // here to aid debugging problems at low volumes
        if (entryCount < 10) {
            refDataStore.logAllContents(LOGGER::info);
        }

        LOGGER.info("Size on disk: {}", ModelStringUtil.formatIECByteSizeString(refDataStore.getSizeOnDisk()));
        LOGGER.info("KV entry count: {}, value count: {}",
                ModelStringUtil.formatCsv(refDataStore.getKeyValueEntryCount()),
                ModelStringUtil.formatCsv(((RefDataOffHeapStore) refDataStore).getValueStoreCount()));

        System.out.print("Press any key to continue . . . ");
        scan.nextLine();

        LOGGER.info("------------------------purge-starts-here--------------------------------------");

        long twoDaysAgoMs = Instant.now().minus(2, ChronoUnit.DAYS).toEpochMilli();

        refStreamDefs1.forEach(refStreamDefinition -> setLastAccessedTime(refStreamDefinition, twoDaysAgoMs));

        // do the purge
        refDataStore.purgeOldData();

        final SystemInfoResult systemInfo = byteBufferPool.getSystemInfo();

        LOGGER.info(systemInfo.toString());

        LOGGER.info("Full test time {}", Duration.between(fullTestStartTime, Instant.now()));
    }
Make entryCount very big for manual performance testing or profiling
stroom-pipeline/src/test/java/stroom/pipeline/refdata/store/offheapstore/TestRefDataOffHeapStore.java