# SPDX-License-Identifier: Apache-2.0 # SPDX-FileCopyrightText: Copyright contributors to the vLLM project import json import matplotlib.pyplot as plt import pandas as pd if __name__ == "__main__": data = [] for name in ["disagg_prefill", "chunked_prefill"]: for qps in [2, 4, 6, 8]: with open(f"results/{name}-qps-{qps}.json") as f: x = json.load(f) x["name"] = name x["qps"] = qps data.append(x) df = pd.DataFrame.from_dict(data) dis_df = df[df["name"] == "disagg_prefill"] chu_df = df[df["name"] == "chunked_prefill"] plt.style.use("bmh") plt.rcParams["font.size"] = 20 for key in [ "mean_ttft_ms", "median_ttft_ms", "p99_ttft_ms", "mean_itl_ms", "median_itl_ms", "p99_itl_ms", ]: fig, ax = plt.subplots(figsize=(11, 7)) plt.plot( dis_df["qps"], dis_df[key], label="disagg_prefill", marker="o", linewidth=4 ) plt.plot( chu_df["qps"], chu_df[key], label="chunked_prefill", marker="o", linewidth=4 ) ax.legend() ax.set_xlabel("QPS") ax.set_ylabel(key) ax.set_ylim(bottom=0) fig.savefig(f"results/{key}.png") plt.close(fig)