【发布时间】:2018-07-31 01:58:42
【问题描述】:
我有一些 python 代码用于从 FPGA 的 RAM 中读取数据并将其写入计算机上的磁盘。代码的运行时间为 2.56 秒。我需要把它降低到 2 秒。
mem = device.getNode("udaq.readout_mem").readBlock(16384)
device.dispatch()
ram.append(mem)
ram.reverse()
memory = ram.pop()
for j in range(16384):
if 0 < j < 4096:
f.write('0x%05x\t0x%08x\n' %(j, memory[j]))
if 8192 < j < 12288:
f.write('0x%05x\t0x%08x\n' %(j, memory[j]))
【问题讨论】:
-
你为什么要做追加反向弹出?
memory是什么类型?这个转储程序,有明显的时间限制,是否需要在文本转换中将数据扩展 375%? -
在我的实际代码中,我没有按顺序执行追加、反向、弹出操作。我有一些条件(FiFo 交叉指针)要附加内存。为了清楚起见,我没有添加那部分。
-
您是否分析了代码以确认您向我们展示的部分花费了相当多的时间?
-
我使用timeit包来查找这段代码的时间。
标签: python memory optimization fpga ram