저는 파이썬을 사용하여 테이블을 저장하고 있습니다.Shelve가 큰 사전의 경우 너무 느립니다. 성능을 향상 시키려면 어떻게해야합니까?
본질적으로 숫자에 사전 문자열로 테이블을 저장합니다. 그리고 전체가 나는 시스템이 내가하지 않으면 불안정한 경향이 발견 나는 True
에 writeback
를 사용
self.DB=shelve.open("%s%sMoleculeLibrary.shelve"%(directory,os.sep),writeback=True)
선반에 저장됩니다.
계산 후 시스템은 데이터베이스를 닫고 다시 저장해야합니다. 이제 데이터베이스 (테이블)는 약 540MB이며, 연령대가 오래되었습니다. 테이블이 약 500MB로 증가한 후에 시간이 폭발했습니다. 하지만 훨씬 더 큰 테이블이 필요합니다. 사실 두 가지가 필요합니다.
나는 아마도 잘못된 형태의 영속성을 사용하고있을 것입니다. 성능 향상을 위해 무엇을 할 수 있습니까?
shelve를 사용하여 큰 dicts에서 부적절한 CPU 사용이 발생 했습니까? –