Skip to content

gfabrizi/1brc-php-ffi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Explanation post: https://gianlucafabrizi.dev/blog/posts/1brc-php-ffi/

Enable FFI in PHP 8.3 (Arch Linux)

sudo sed -i 's/;extension=ffi/extension=ffi/' /etc/php/php.ini
sudo sed -i 's/;zend_extension=opcache/zend_extension=opcache/' /etc/php/php.ini

echo "ffi.enable=preload" | sudo tee -a /etc/php/conf.d/ffi.ini

echo "opcache.enable=1" | sudo tee -a /etc/php/conf.d/opcache.ini
echo "opcache.enable_cli=1" | sudo tee -a /etc/php/conf.d/opcache.ini
echo "opcache.jit=on" | sudo tee -a /etc/php/conf.d/opcache.ini

Compiling Rust library

From the root directory, run:

cd rust/onebrc && cargo build --release && rm -f ../libonebrc.so && mv target/release/libonebrc.so ../ && strip --strip-unneeded ../libonebrc.so && cd ../../

Running

Generate rust/measurements.txt file from the original 1brc tool.
Then from the root directory, run:

php app/index.php

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published