158 votes

Profilage des temps de démarrage de vim

J’ai beaucoup de plugins activés lorsque vous utilisez vim que j’ai recueillies au fil des ans. Je suis un peu marre de combien de temps prend de vim pour commencer maintenant, donc je voudrais profil son démarrage et voir lequel des nombreux plugins j’ai sont responsables. Est-ce là de toute façon pour profil script en cours d’exécution ou démarrage de vim ? Idéalement, je voudrais savoir combien de temps vim passé dans chaque script vim il charges.

204voto

jamessan Points 16420

Si vous utilisez Vim 7.2.269 ou plus tard, il y a ensuite l’option--startuptime, vous pouvez utiliser.

de l’aide ( `` ) :

42voto

ZyX Points 26516

Vous pouvez utiliser vim propre mécanisme de profilage :

Après l’exécution de ce qui précède, vous trouverez un fichier appelé profile.log dans le répertoire courant avec toutes les informations requises. Pour obtenir la table d’information par script similaire à la fonction par fonction l’un est déjà présent, utiliser (après l’ouverture de ce fichier dans vim) :

Il sera non trié, mais vous pouvez toujours utiliser la fonction intégrée `` commande si des scripts est trop grand.

21voto

innaM Points 22831

Vous pouvez exécuter l' vim -V, tuyau de la sortie à travers un utilitaire qui ajoute les horodatages et analyser les résultats. Cette commande lignes est-ce, par exemple:

vim -V 2>&1 | perl -MTime::HiRes=time -ne 'print time, ": ", $_' | tee vilog

Vous pourriez avoir à l'aveuglette type :q pour revenir à l'invite du système. Par la suite, vous devriez trouver le fichier vilog dans votre répertoire courant avec embauches horodateurs au début de chaque ligne.

Si vous pouvez le faire avec une granularité d'une seconde, vous pouvez faire ceci:

vim -V 2>&1 | perl -ne 'print time, ": ", $_' | tee vilog

16voto

Benj Points 12084

J’ai affiné la solution -V de vim par Manni pour indiquer le temps de delta :

5voto

David Berger Points 5459

Si vous êtes en train de charger des plugins à partir d'un .fichiers vimrc, ce que vous pourriez faire est de mettre un q sur certaines partie de la ligne de chemin à travers le fichier pour le faire arrêter de sorte que vous pouvez utiliser un minuteur, comme celle d'unix time commande. Plus en profondeur, cela ressemblerait à:

  1. sauvegarde existante .vimrc le fichier
  2. commentaire de tous, mais un certain nombre de plugins
  3. insérer un q ligne
  4. appelez time vim repeteadly et moyenne
  5. restaurer la sauvegarde

Ce n'est pas très élégant, mais je pense qu'il va faire le travail.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X