<?php
// Fungsi untuk mengambil informasi penggunaan RAM saat ini
function getMemoryUsage() {
    $memory = memory_get_usage(true); // Penggunaan memori saat ini dalam bytes

    // Konversi bytes ke format yang lebih mudah dibaca (KB atau MB)
    if ($memory < 1024) {
        return $memory . " bytes";
    } elseif ($memory < 1048576) {
        return round($memory / 1024, 2) . " KB";
    } else {
        return round($memory / 1048576, 2) . " MB";
    }
}

// Simulasi data 5.000 baris (misalnya dari database atau sumber data lainnya)
$data = [];
for ($i = 1; $i <= 5000; $i++) {
    $data[] = [
        'id' => $i,
        'name' => 'Item ' . $i,
        'quantity' => rand(1, 10),
        'price' => rand(10, 100)
    ];
}

// Mengambil penggunaan memori sebelum memuat data
$startMemory = getMemoryUsage();

// Memuat dan menampilkan data
echo "<h1>Data 5.000 Baris</h1>";
echo "<table border='1'>";
echo "<tr><th>ID</th><th>Name</th><th>Quantity</th><th>Price</th></tr>";
foreach ($data as $row) {
    echo "<tr><td>{$row['id']}</td><td>{$row['name']}</td><td>{$row['quantity']}</td><td>{$row['price']}</td></tr>";
}
echo "</table>";

// Mengambil penggunaan memori setelah memuat data
$endMemory = getMemoryUsage();

// Menghitung penggunaan memori yang digunakan untuk memuat data
$memoryUsed = $endMemory - $startMemory;

// Menampilkan informasi penggunaan memori
echo "<h2>Penggunaan Memori:</h2>";
echo "<p>Sebelum memuat data: {$startMemory}</p>";
echo "<p>Setelah memuat data: {$endMemory}</p>";
echo "<p>Penggunaan memori yang digunakan: {$memoryUsed}</p>";
?>
