Объекты Set позволяют вам сохранять уникальные значения любого типа
for(let i =0; i<10000000; i++){
s.add(1);
}
я знаю какие тесты мы проводили, и перформанс был php -> java -> node -> go
time php -r 'json_encode(array_fill(0, 10000000, 1));'
time node -e 'JSON.stringify(new Array(10000000).fill(1));'
отдельно про jit, по секрету скажу это не ноу-хау пхп, и оно не только в пхп.
time git clone https://git.savannah.gnu.org/git/findutils.git
...
real 0m41,191s
time wget https://mirror.yandex.ru/debian/pool/main/f/findutils/findutils_4.7.0.orig.tar.xz
...
real 0m0,677s
Увы, не для всех утилит, не на всех дистрах, есть сорцы доступные через интерфейс пакетного менеджера
На скриншоте настройка предобработки и результат теста с вашими данными. Попробуйте так.