I believe the problem is that is_item is not a cheap call, and it will potentially become more expensive as itemadapter extends support to additional types.
I think we may be able to reimplement this function so that it does not call is_item at all, but still does not treat item-like objects as sequences.
I have a CPU-bound Scrapy project that becomes 50% slower after https://github.com/scrapy/itemloaders/pull/29.
I believe the problem is that
is_item
is not a cheap call, and it will potentially become more expensive as itemadapter extends support to additional types.I think we may be able to reimplement this function so that it does not call
is_item
at all, but still does not treat item-like objects as sequences.