{
    "schema_version": 1,
    "license": "CC BY 4.0",
    "citation": "Kuzeyhan Demir, ASAMB, Incremental concatenation vs array-and-implode string assembly, measurement run 2026-07-22T15:23:56+00:00",
    "environment": {
        "generated_at": "2026-07-22T15:23:56+00:00",
        "php_version": "8.4.23",
        "php_sapi": "cli",
        "os": "Linux 4.18.0-553.85.1.el8_10.x86_64",
        "architecture": "x86_64",
        "cpu": "AMD EPYC-Rome Processor",
        "memory": "15.02 GiB host total",
        "opcache_cli": "0",
        "memory_limit": "1024M",
        "extensions": [
            "json",
            "openssl",
            "zlib",
            "mbstring",
            "pdo_sqlite"
        ],
        "timezone": "UTC",
        "clock": "hrtime(true)",
        "rounds": 7
    },
    "study": {
        "slug": "string-assembly",
        "iterations_per_sample": 150,
        "rounds": 7,
        "winner": "Incremental concatenation",
        "slowest": "Array plus implode",
        "spread_percent": 2.28,
        "variants": {
            "Incremental concatenation": {
                "median_ns_per_op": 46591.32,
                "p25_ns_per_op": 46226.81,
                "p75_ns_per_op": 49748.9,
                "ops_per_second": 21463.23,
                "samples_ns_per_op": [
                    46191.91,
                    46591.32,
                    46050.86,
                    46261.71,
                    49037.79,
                    50460,
                    50554.91
                ],
                "extra": []
            },
            "Array plus implode": {
                "median_ns_per_op": 47655.13,
                "p25_ns_per_op": 44826.78,
                "p75_ns_per_op": 48340.15,
                "ops_per_second": 20984.1,
                "samples_ns_per_op": [
                    48410.29,
                    44713.14,
                    44940.42,
                    44611.08,
                    47655.13,
                    48270.02,
                    54353.45
                ],
                "extra": []
            }
        }
    }
}