Я разрабатываю приложение на Raspberry Pi, используя PHP и MySQL. После нескольких недель разработки я заметил, что в некоторых случаях приложение работает медленно, а затем я пытаюсь оптимизировать связанный с ним код (например, слишком много циклов внутри циклов или динамическая загрузка статических изображений на RPi очень медленная). Обычно замедления вообще не ощущаются на более мощном оборудовании, но я решил, что такие замедления будут заметны, когда ресурсы серверного оборудования будут исчерпаны.
Вопрос:
Позволит ли оптимизация производительности приложений на Raspberry Pi позволить мне добиться лучших результатов на многосекционном многосокольном сервере Xeon позже? например Смогу ли я достичь большего количества попаданий в секунду, прежде чем использовать ресурсы оборудования, если я выберу этот подход, разработав свое приложение на менее мощном оборудовании? Или это просто пустая трата времени, а прирост производительности не стоит того?
Я спрашиваю об этом, потому что архитектура RPi и Xeon сильно отличается, и то, что я делаю, может быть пустой тратой времени. Поскольку у меня сейчас нет сервера Xeon, я не могу сравнивать и доказывать свою точку зрения выше. 🙂
Спасибо!
Это зависит от того, какой тип оптимизации вы делаете. Переносимость между различными аппаратными средствами сводится к архитектурной независимости используемых вами абстракций (например, язык, компилятор, библиотеки). Я понимаю, что PHP работает на очень высоком уровне в качестве интерпретатора, который должен быть максимально переносимым. Так что это уже абстрагировано от аппаратного обеспечения.
Я предполагаю, что ваши оптимизации будут перенесены на Xeon. Я полагаю, что вы выполняете алгоритмическую и кодовую оптимизацию, например, исследуете лучшие методы выполнения чего-либо, заменяете циклы более эффективным кодом, используете более совершенные структуры данных и избавляетесь от ненужных и избыточных вызовов. Все это поможет на любой машине.
Других решений пока нет …