Профильное время запуска Vim

Это не точно "скрытые функции" и не очень полезное, но может быть чрезвычайно интересно в некоторых случаях:
Класс sun.misc. Небезопасный - позволит Вам реализовывать управление непосредственной памятью в Java (можно даже записать код Java самоизменения с этим при попытке много):

public class UnsafeUtil {

    public static Unsafe unsafe;
    private static long fieldOffset;
    private static UnsafeUtil instance = new UnsafeUtil();

    private Object obj;

    static {
        try {
            Field f = Unsafe.class.getDeclaredField("theUnsafe");
            f.setAccessible(true);

            unsafe = (Unsafe)f.get(null);
            fieldOffset = unsafe.objectFieldOffset(UnsafeUtil.class.getDeclaredField("obj"));
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    };
}
125
задан Rory O'Kane 1 December 2014 в 05:53
поделиться

4 ответа

Если вы используете Vim 7.2.269 или новее, вы можете использовать параметр --startuptime.

vim --startuptime vim.log

из справки ( vim -h ):

--startuptime <file> Write startup timing messages to <file>
168
ответ дан 24 November 2019 в 00:59
поделиться

Вы можете запустить vim -V , направить вывод через служебную программу, которая добавляет отметки времени и анализирует вывод. Эта командная строка делает это, например:

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

Возможно, вам придется вслепую набрать : q , чтобы вернуться к приглашению. После этого вы должны найти файл vilog в вашем текущем каталоге с отметками времени hires в начале каждой строки.

Если вы можете сделать с точностью до секунды, вы можете сделать следующее:

vim -V 2>&1 | perl -ne 'print time, ": ", $_' | tee vilog
20
ответ дан 24 November 2019 в 00:59
поделиться

Если вы загружаете свои плагины из файла .vimrc, вы могли бы поместить q в какую-то строку на полпути через файл, чтобы он закрылся. вы можете использовать таймер процесса, например команду unix time . Более подробно это будет выглядеть так:

  1. резервное копирование существующего .vimrc файл
  2. закомментировать все плагины, кроме выбранного количества
  3. вставить строку q
  4. вызов time vim постоянно и среднее
  5. восстановление из резервной копии

Это не изящно, но я думаю, что это выполнит свою работу.

5
ответ дан 24 November 2019 в 00:59
поделиться

Я усовершенствовал решение vim -V с помощью innaM, чтобы показать дельта-время:

vim -V 2>&1 | perl -MTime::HiRes=time -ne '$a = time unless defined $a; print time - $a, ": ", $_' | tee vilog
16
ответ дан 24 November 2019 в 00:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: