Redland Python привязки очень медленные вставки
Я проверяю привязки Редленда к Python. Из некоторых простых тестов вставка данных кажется во много-много раз медленнее, чем RDFLib. Простой скрипт, такой как:
import RDF
h1=RDF.HashStorage(
"/var/tmp/redland.bdb", options="hash-type='bdb', contexts='yes'")
g = RDF.Model(h1)
for i in range(10000):
if i % 100 == 0:
print('Inserting {} triples.'.format(i))
g.append(RDF.Statement(
RDF.Uri('urn:s:{}'.format(i % 1000)),
RDF.Uri('urn:p:{}'.format(i %100)),
RDF.Uri('urn:o:{}'.format(i))))
Я использую Python 3.5, Redland 1.0.17 с поддержкой BDB (скомпилировано вручную).
запуск занимает несколько минут, по сравнению с несколькими секундами RDFLib. В настоящее время 10 000 троек - это небольшое количество, настолько большое, что такая производительность сделает библиотеку практически непригодной для большинства производственных сценариев; так что мне интересно, если я делаю что-то действительно неправильно здесь.
Спасибо за помощь,
Стефано