Я действительно сомневаюсь, что потомков можно удалить в O (1), даже с node.innerHTML = ''
, так как базовая реализация вполне может быть операцией O (N).
Что нужно учитывать для улучшения производительности, так это минимизировать количество повторений DOM.
const list = document.querySelector('ul');
const listClone = list.cloneNode(false);
list.parentNode.replaceChild(listClone, list);
<ul>
<li>First</li>
<li>Last</li>
</ul>
withElOutOfFlow(document.querySelector('ul'), el => {
while(el.lastChild) el.removeChild(el.lastChild);
});
function withElOutOfFlow(el, callback) {
const parent = el.parentNode;
if (!parent) {
callback(e);
return;
}
const nextSibling = el.nextSibling;
parent.removeChild(el);
callback(el);
if (nextSibling) parent.insertBefore(el, nextSibling);
else parent.appendChild(el);
}
<ul>
<li>First</li>
<li>Last</li>
<ul>
Поместите следующее в Ваш .emacs
:
(setq inhibit-startup-message t) (setq inhibit-startup-echo-area-message t)
Поместите следующее в свой персональный init файл (ususally ~/.emacs.el
):
(setq inhibit-startup-message t)
(Или (setq inhibit-startup-screen t)
в с более старыми версиями Emacs.)
можно также выключить сообщение "Для получения информации о GNU Emacs и система GNU, ввести C-h C-a". в эхе с переменной inhibit-startup-echo-area-message
, но этого недостаточно для установки его на t
; необходимо установить его на имя пользователя. См. документацию для inhibit-startup-echo-area-message
.
Если ваш файл инициализации скомпилирован байтами, используйте вместо него следующую форму:
(eval '(setq inhibit-startup-echo-area-message "YOUR-USER-NAME"))
Emacs имеет несколько переменных, которые запрещают эти действия. Если вы редактируете свой управляющий файл emacs (.emacs) и вставляете следующее:
;; inhibit-startup-echo-area-message MUST be set to a hardcoded
;; string of your login name
(setq inhibit-startup-echo-area-message "USERNAME")
(setq inhibit-startup-message t)
, это должно решить вашу проблему. Они в основном устанавливают для параметров блокировки значение true, чтобы предотвратить поведение, от которого вы хотите избавиться.