Paginator very slow even cached by filesystem after second visit

First install laminas-cache and laminas-serializer:

$ composer require laminas/laminas-cache laminas/laminas-serializer

Then use a cache for paginator:

require_once __DIR__ . '/vendor/autoload.php';

// Create cache
$cache = Laminas\Cache\StorageFactory::factory(
    [
        'adapter' => [
            'name'    => Laminas\Cache\Storage\Adapter\Filesystem::class,
            'options' => [
                'cache_dir' => __DIR__ . '/tmp',
                'ttl'       => 3600,
            ],
        ],
        'plugins' => [
            Laminas\Cache\Storage\Plugin\Serializer::class,
        ],
    ]
);

// Set cache for each paginator
Laminas\Paginator\Paginator::setCache($cache);

// Create paginator
$data      = range(1, 100);
$paginator = new Laminas\Paginator\Paginator(
    new Laminas\Paginator\Adapter\ArrayAdapter($data)
);

// Fetch items and store items in cache
$items = $paginator->getCurrentItems();

https://docs.laminas.dev/laminas-cache/storage/adapter/#quick-start
https://docs.laminas.dev/laminas-cache/storage/plugin/#the-serializer-plugin