J'aide à améliorer une interface web au boulot (deadline très proche). Du coup, petite astuce qui change la vie quand on veut bourriner des trucs dans le DOM en javascript : ici des options dans une datalist (pour un champ de recherche avec autocomplete).
Pour un set d'environ 4100 entrées, c'était juste pas possible avec des appendChild au kilomètre : UI complètement freezée avec Firefox, alerte que le script est peut-être dans les choux etc. Un workaround très simple est de travailler sur un "document fragment" qui permet de travailler en-dehors du DOM lui-même et est donc beaucoup plus efficace (forcément, le navigateur n'a pas à répercuter les modifications sur la page à chaque fois).
Du coup, créer un fragment, append dessus et l'append lui-même une seule fois dans la datalist change tout : ça devient quasi instantané !
Par ailleurs je craignais que l'autocomplete soit trop lent mais en pratique aucun soucis (testé avec jusqu'à 6000 entrées).