Gotûbêja modulê:Wikidata
Şiroveya dawî: berî 6 salan ji aliyê Amir Sarabadani (WMDE) ve di mijara Critical performance improvement de
Ev rûpela gotûbêjê ji bo nîqaşên li ser pêşvexistina Wikidata ye. |
|
Critical performance improvement
biguhêreThere is the following inefficiency in Wikidata module:
-- otherwise, iterate over all properties, fetch their labels and compare this to the given property name
for k, v in pairs(entity.claims) do
if mw.wikibase.label(k) == property then return v end
end
This can also be expressed with:
property = mw.wikibase.resolvePropertyId(property)
if not property then return end
return entity.claims[property]
The advantaged of the second version is that it doesn't need to iterate over all Statements (which is badly discouraged), thus the pages in question don't "use" all Statements. See also T178114. Please fix this problem. Thank you! Amir Sarabadani (WMDE) (gotûbêj) 20:24, 8 adar 2018 (UTC)