Махоро - это либмагическая оболочка. Прямо сейчас мой процесс для чтения в файле:
filetype = Mahoro.new.file(full_path)
File.open(full_path, get_access_string(filetype)) do |f|
Проблема в том, что Mahoro, кажется, читает весь файл, а не только строки заголовка. Таким образом, я получаю результат профилирования как:
%self total self wait child calls name
6.02 0.26 0.26 0.00 0.00 1 Mahoro#file
5.81 4.36 0.25 0.00 4.11 1 Parser#read_from_file
Каждый занимает 0,25 секунды, что означает, что они дублируют работу друг друга. Есть ли способ получить файл в виде строки из libmagic? Похоже, что это единственный способ сделать этот процесс более эффективным.