pretty code

2024年3月15日 星期五

這個星期學到的新東西

01. 當 Python code 裡面有用到很大的記憶體,當你程式離開時,會去釋放這些記憶體,故感覺花 1 分鐘以上才回到 linux shell 是正常的。

02. pyverilog 使用 lex & yacc 的模式來 parsing Verilog 檔案,當檔案很大時,比如 600 多萬行,建立 AST 就要花 20 幾分鐘;同樣的,當你要把 AST 再還原成 Verilog code 時,也是要花個 10 分鐘以上。

那個 600 多萬行的檔案,純用 Python 讀只要 0.6秒,讀一行寫一行到檔案則是 2.X 秒。

03. vim 要使用 regex 搜尋時,某些符號前要打 "\",或是使用 "/\v" 告訴 vim 要使用 regex。

2024/03/21 更新

簡單使用 re 並只 parse instance 及 port arg 的情況下,同一個檔案大概要花 72 秒。 我猜 pyverilog lex 只考慮 netlist 相關的語法下,應該可以更快沒錯。

沒有留言: