Вы ответили на свой вопрос.Если скорость является обязательной, тогда перейдите ко второму, более быстрому варианту (хотя лучше сравнить его с эталонным тестом, чтобы убедиться, что он действительно значительно быстрее).
В противном случае, используйте первый вариант, так как меньше кодалучше (и оставаясь DRY вдвойне).Меньше кода означает меньше потенциальных ошибок, меньше для поддержки, меньше для записи и меньше для чтения.Если код в значительной степени дублирует другой раздел кода, то вам придется синхронизировать эти два элемента при внесении изменений - это вызовет проблемы, так как легко забыть обновить один (и даже если вы всегда помните, чтобы сделатьизменения в обоих местах, поскольку они не совсем идентичны, можно правильно обновить один раздел и неправильно обновить другой).
Прежде чем принять окончательное решение, убедитесь, что скорость действительно необходима, - вы неt преждевременная оптимизация .