FYI, checking Preferences > Searching > 'Limit the searched metadata' and setting the columns to search to 'title, authors, tags, series, publisher, comments, identifiers' (NOT any of my custom columns) speeds up the display searches for me a fair bit.
By rights, I wouldn't expect it to, since the searches SmartEject uses are all prefixed with a column.
The call to self.gui.library_view.model().db.search_getting_id s(...) is very very fast.
The call to self.gui.search.do_search() after self.gui.search.setEditText(...) is much slower. If do_search() doesn't do the same prefix optimization, that could explain the speed up.