- 首先我们来到csapp官网http://csapp.cs.cmu.edu/3e/code.html下载CMU现成的代码,要下载下面那个完整的压缩包才能看到头文件嘞
- linux下打开文件夹mountain
linux>gcc -c clock.c -o clock.o
linux> gcc -c fcyc2.c -o fcyc2.o
linux> gcc -c mountain.c -o mountain.o
linux> gcc clock.o fcyc2.o mountain.o -o run
linux>./run
- 将打印出的数据复制到一个txt文件里,手动给第一列起名
size
- 用Python处理数据并绘图,绘图我用的是plotly
import pandas as pd
import plotly.graph_objects as go
# 数据预处理
df = pd.read_fwf('data.txt') # pandas 读取txt的方法今天才知道quq
df.to_csv('data.csv', index=False)
data = pd.read_csv('data.csv')
size = data['size']
data = data.drop(columns='size', axis=1)
#绘图
fig = go.Figure(data=[go.Surface(z=data.values, x=data.columns, y=size)])
fig.update_layout(title='My memory mountain', autosize=False,
width=800, height=800,
margin=dict(l=65, r=50, b=65, t=90))
fig.write_html('mm.html') # 保存HTML
fig.show()
得到HTML。
*没有plotly可以pip install plotly