2014-05-20 61 views
1

我的Django單元測試非常慢。我正在使用內存中的sqlite並將燈具保持在最低限度。然而,加載燈具仍需要大約5秒鐘的時間。什麼JSON解析器沒有Django Fixture Loading使用

我讀過json fixtures比yaml更快,因此使用json。

我的懷疑是燈具使用緩慢的json庫(json或simplejson而不是cjson)。

我的問題是:

  • 誰能確認夾具加載緩慢的一部分,或者對如何去這一個 想法?
  • 有誰知道什麼json庫django用來加載燈具?

回答

2

Django的夾具所使用的使用內置的django deserializersloaddata管理命令裝入,其從標準庫usejson模塊。

賽程緩慢且難以維護。考慮使用模型工廠。基本上,有兩個主要球員那裏:

另見:

+0

看來json解析器只需要大約10%的時間。大部分的時間都花在轉向解析JSON到Django的對象:JSON:0.0230231285095解串器:0.242472887039總:0.265496015549 JSON:0.0223681926727解串器:0.253935813904總:0.276304006577 JSON:0.108466148376解串器:0.732606887817總:0.841073036194 JSON:0.00613403320312解串器: 0.0740101337433總計:0.0801441669464 json:1.38954401016解串器:25.5058369637總計:26.8953809738 – bbrame

+0

@bbrame是的,謝謝,在模型工廠的情況下 - 您可以直接在python代碼中創建模型對象。 – alecxe