Я читал this статью на dotnetperls.com о regular expressions
, когда я прочитал следующее: (курсив мой)Почему статический RegEx медленнее, чем экземпляр RegEx?
... мы видим, что с помощью Regex экземпляр объекта быстрее, чем при использовании static Regex.Match. Для производительности вы всегда должны использовать экземпляр объекта.
я ожидал бы, что с помощью метода static
будет быстрее, потому что я подозреваю, что они делают regex.match идентичны, но экземпляр нуждается в инициализации (который занимает много времени, конечно).
После некоторых поисков я, по крайней мере, узнал, что (часть) мое чувство кишки было прав. Что касается статических методов, this dotnerperls статье говорится: (курсив мой)
Статические методы нет экземпляров. Они вызываются с именем типа, а не идентификатором экземпляра. Они немного быстрее, чем методы экземпляра из-за этого.
Но тогда почему экземпляр RegEx будет быстрее, чем статический класс?
Посмотрите на этот ответ http://stackoverflow.com/questions/414328/using-static-regex-ismatch-vs-creating-an-instance-of-regex – BudBrot
@Pengu, спасибо, что ответ отвечает на мой вопрос также. Что касается человека, который дал мне закрытый голос. Я хотел бы отметить, что вопросы не совпадают. Связанный вопрос задает вопрос, следует ли использовать 'static' или' instance', а мой - почему 'static' быстрее. Тот факт, что принятый ответ также отвечает на мой вопрос, удачен, но это не делает этот вопрос дубликатом. – Jordy