Performing the following (note the range of 10,000):

`importmulti '[{"desc": "sh(wpkh([aeee1e6a/49h/1h/0h]tpubDC5bVdaveQYxGFztMShFAjU637kKjrs9FD8ne1oHR7z8tLeQJExsaxWRVeSpcCcYMdp5ecf2LQhuVaeYFZ7YEpvWTJr4nDGUJrmuvLuTSsp/1/*))", "keypool": true, "timestamp": "now", "watchonly": true, "internal": true, "range": {"end": 1000}}]' '{"rescan": false}'`

takes many minutes. @achow101 reports a similar import taking 6 minutes on his machine.
static bool Recover(const fs::path& wallet_path, std::string& out_backup_filename);
    
    static bool RecoverKeysOnlyFilter(void *callbackData, CDataStream ssKey, CDataStream ssValue);
    
    static bool IsKeyType(const std::string& strType);
    
    static bool VerifyEnvironment(const fs::path& wallet_path, std::string& errorStr);
    
    static bool VerifyDatabaseFile(const fs::path& wallet_path, std::string& warningStr, std::string& errorStr);
    
    bool WriteHDChain(const CHDChain& chain);
    bool WriteWalletFlags(const uint64_t flags);
    
    bool TxnBegin();
    
    bool TxnCommit();
    
    bool TxnAbort();
    
    bool ReadVersion(int& nVersion);
    
    bool WriteVersion(int nVersion);
private:
    BerkeleyBatch m_batch;
    WalletDatabase& m_database;
};
void MaybeCompactWalletDB();
#endif