PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
Python
[問題] 迭代次數太高,字典問題
作者:
qaz28787493
(jonny)
2022-05-13 08:59:19
題目我就簡單說
我有一個類,名稱叫dot
class dot(object) :
def __init__(self) :
self. Attr1={}
Example=dot()
while(k<=10000):
result=繁瑣的計算過程,需要用到上一次的Attr1的值
Example. Attr1[k] =result
k=k+1
請問我該怎麼讓我這方式的內存壓力小一點,我的電腦內存是16的
作者:
lycantrope
(阿寬)
2022-05-13 09:19:00
可以用functools.lru_cache不用自己刻記憶體不夠,也可以物件轉pickle暫存硬碟
作者:
Schottky
(順風相送)
2022-05-13 11:09:00
或許你根本不需要用字典記住全部結果重新審視一下那個繁瑣的計算過程,也許可以大幅簡化
作者:
single4565
(leekdumpling韭菜水餃)
2022-05-13 12:48:00
試試看field?
作者:
qaz28787493
(jonny)
2022-05-13 13:37:00
Sch大 我了解了Single大,我去了解一下lycan大 好,知道了
作者:
mikemike1021
(mike)
2022-05-13 14:22:00
result 如果只是單一值的話 用 list 或 array,然後可以先把需要的大小弄出來,不要讓他自己加,最慘的狀況記憶體的需求可能是原先的兩倍另外如果不需要中間結果,只存上一次的結果過來用即可
作者:
polom
(Polom)
2022-05-13 23:33:00
考慮用 nympy dtype
作者: ssivart
2022-05-14 01:31:00
看演算法能不能優化
作者: wray (Rayf)
2022-05-16 21:53:00
只留上一次要用的值,太舊用不到的把它放掉
作者:
celestialgod
(天)
2022-05-17 13:05:00
試試看Cython Linux只要裝好g++ pythondev windows比較麻煩要裝VC++ 但是效能應該可以好很多
https://tinyurl.com/yusbeekf
我那時候把Python改成Cython快了10倍以上
作者:
Sunal
(SSSSSSSSSSSSSSSSSSSSSSS)
2022-05-17 16:30:00
先動演算法再換 interpreter 吧...
作者:
qaz28787493
(jonny)
2022-05-20 23:43:00
謝謝大家的意見,小弟還在處理中
繼續閱讀
Re: [問題] 台灣車牌的正規輸入
ides13
[問題] 搭建pip-server
ctr1
[問題] 電影排行爬蟲
lhsilyvm
[問題] 金融數據處理 - 數字轉時間
barusu
[問題] 台灣車牌的正規輸入
yahahah
[問題] 資料未找到的錯誤
Yeeee2018
[問題] 推薦有詳細講解matplotlib的書
peter308
[問題] 請問外面的find email原理是?
jackjenny
[資訊] AIGO徵求隊員有降噪或物件識別經驗佳
seiching
[問題] import pandas 程式執行速度問題
Dmix
Links
booklink
Contact Us: admin [ a t ] ucptt.com