Я хочу проверить использование профиля важного библиотечного класса моего rails-проекта. Он использует ActiveRecord, поэтому мне нужны все зависимости rails для его профилирования.
Насколько я знаю, мне нужен патчированный ruby (rubygc), чтобы скрипт / профиль и скрипт / бенчмарк могли отслеживать использование памяти. Я пытался следовать этому официальному руководству для исправления исходного кода ruby 1.8.6 (p399) и 1.8.7 (p248), но оба не удаются со следующим сообщением:
patching file gc.c
Hunk #2 succeeded at 50 with fuzz 2 (offset 2 lines).
Hunk #3 succeeded at 87 with fuzz 2 (offset 6 lines).
Hunk #4 succeeded at 153 with fuzz 1 (offset 45 lines).
Hunk #5 succeeded at 409 with fuzz 2 (offset 274 lines).
Hunk #6 FAILED at 462.
Hunk #7 FAILED at 506.
Hunk #8 FAILED at 520.
Hunk #9 FAILED at 745.
Hunk #10 FAILED at 754.
Hunk #11 FAILED at 923.
Hunk #12 succeeded at 711 (offset 46 lines).
Hunk #13 succeeded at 730 (offset 46 lines).
Hunk #14 succeeded at 766 (offset 55 lines).
Hunk #15 succeeded at 1428 (offset 87 lines).
Hunk #16 succeeded at 1492 (offset 89 lines).
Hunk #17 FAILED at 1541.
Hunk #18 FAILED at 1551.
Hunk #19 succeeded at 1571 (offset 91 lines).
Hunk #20 succeeded at 1592 (offset 91 lines).
Hunk #21 succeeded at 1601 (offset 91 lines).
Hunk #22 succeeded at 1826 (offset 108 lines).
Hunk #23 succeeded at 1843 (offset 108 lines).
Hunk #24 succeeded at 1926 (offset 108 lines).
Hunk #25 succeeded at 2118 (offset 108 lines).
Hunk #26 succeeded at 2563 (offset 100 lines).
Hunk #27 succeeded at 2611 with fuzz 1 (offset 102 lines).
Hunk #28 succeeded at 2628 (offset 102 lines).
8 out of 28 hunks FAILED -- saving rejects to file gc.c.rej
patching file intern.h
Hunk #1 succeeded at 268 (offset 15 lines).
Я также пытался использовать ruby-prof, но всегда получаю ошибку "неинициализированная константа RubyProf :: Test". Я не знаю, как использовать гем "memory", и ни "memprof", ни "bleak_house" не могли быть успешно установлены.
Если я получу исправленный рубин, у меня все будет хорошо. Но любая другая возможность профилировать память библиотечных классов приветствуется. Спасибо за помощь!