Major changes: - New ThemeManager with Twig templating and SCSS compilation - Dynamic themes system (themes/default, themes/demo) - LogManager with SQLite storage and syslog forwarding - RequestLogger with static helper methods - Admin UI overhaul (Bootstrap 5, dark mode) - Admin config page with logging and theme settings - Admin logs page with filters and search - Removed legacy Mustache templates - Removed test plugin and theme - Composer dependencies: Twig, scssphp, CommonMark, MaxMind GeoIP
27 lines
563 B
PHP
27 lines
563 B
PHP
<?php
|
|
|
|
require __DIR__ . '/../vendor/autoload.php';
|
|
|
|
use GeoIp2\Database\Reader;
|
|
|
|
srand(0);
|
|
|
|
$reader = new Reader('GeoIP2-City.mmdb');
|
|
$count = 500000;
|
|
$startTime = microtime(true);
|
|
for ($i = 0; $i < $count; ++$i) {
|
|
$ip = long2ip(rand(0, 2 ** 32 - 1));
|
|
|
|
try {
|
|
$t = $reader->city($ip);
|
|
} catch (\GeoIp2\Exception\AddressNotFoundException $e) {
|
|
}
|
|
if ($i % 10000 === 0) {
|
|
echo $i . ' ' . $ip . "\n";
|
|
}
|
|
}
|
|
$endTime = microtime(true);
|
|
|
|
$duration = $endTime - $startTime;
|
|
echo 'Requests per second: ' . $count / $duration . "\n";
|