/**
 * Satu baris tabel profil: tahap, jumlah item yang diproses, dan biaya totalnya.
 * Item dihitung dari eksekusi pipeline nyata; biaya per item dari model tetap.
 */
public record BarisProfil(TahapPipeline tahap, long itemDiproses) {

    /** Biaya unit per item menurut model tahap. */
    public long biayaUnit() {
        return tahap().biayaUnit();
    }

    /** Total biaya tahap: jumlah item dikali biaya unit. */
    public long total() {
        return itemDiproses() * tahap().biayaUnit();
    }
}
