Я пытаюсь ответить на вопрос «должен ли я» вместо «какой», потому что неясно, действительно ли вам нужна такая библиотека.
Может ли матричная библиотека улучшить время выполнения? Наверное. Методы, которым вас учат в старших классах, конечно, не самые быстрые. Однако есть и другие вопросы, которые необходимо учитывать.
Во-первых, оптимизируете ли вы преждевременно? Попытка сделать вашу программу как можно быстрее, заманчиво, но не всегда правильно. Вы должны принять решение, если это действительно правильный способ провести время.
Во-вторых, окажет ли скорость существенное влияние на удобство использования? Заставить программу работать за 2 секунды вместо 4 секунд не стоит усилий ... но 30 часов вместо 60 часов? Может быть и так. Мне нравится делать упор на том, чтобы все работало перед полировкой.
Наконец, я встречал несколько примеров кода, который кто-то написал несколько лет назад, который был совершенно бесполезным. Старые библиотеки, которые не могли быть найдены или скомпилированы с новой ОС, компилятором или чем-то другим, означали, что мне пришлось полностью переписать что-то, что тратит впустую недели моего времени. Изначально могло показаться хорошей идеей получить дополнительные несколько процентов производительности, но это означало, что срок их кода ограничен, особенно из-за плохой документации.
Keep It Simple Stupid - превосходная мантра для многих вещей. Я решительно выступаю за использование библиотек только тогда, когда это абсолютно необходимо, и только за тех, которые кажутся долгоживущими и стабильными.