Gotûbêja modulê:Wikidata

Naverokên rûpelê bi zimanên din nayê destekkirin.
Ji Wîkîpediya, ensîklopediya azad.

Critical performance improvement[çavkaniyê biguhêre]

There 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)[bersiv bide]