Я использовал этого с хорошим успехом - я не помню, где я получил его от
$pattern = "/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i";
Большой исполняемый файл, вероятно, имеет меньше разделяемых библиотек (меньше повторно используемого кода), что означает, что приложение, вероятно, потребляет больше памяти, чем приложение, использующее разделяемые библиотеки. Если вам нужна система с минимальным объемом памяти, вам нужны разделяемые библиотеки.
Большой исполняемый файл, вероятно, будет более автономным, что может облегчить поддержание стабильного развертывания.
Как правило, большой размер exe может означать, что вы собираете все зависимости в один файл, поэтому нет проблем с зависимостями, таких как dll hell , но каждый раз, когда вы хотите что-то исправить в маленьком модуле пользователь должен загрузить этот большой исполняемый файл !!!
С другой стороны, маленький исполняемый файл может означать, что вы разбиваете свое приложение на различные модули, чтобы было легко поддерживать и обновлять эти модули по отдельности, и пользователю не нужно скачать большой фрагмент exe