«Цена» вывода данных через echo для сервера ничтожна, по сравнению с тяжестью передачи лишних данных по сети от сервера в браузер.
Если хотите оптимизировать, передавайте с сервера только данные про товары в удобном для JS формате, напр. JSON. А JS в браузере уже пусть их форматирует и отрисовывает как там выберет клиент – таблицей или списком. Всё, что расчитывается в браузере – уже не вашего сервера работа, вы за неё «не платите».
mrzgt: сам по себе - не сильно, всё, что он делает - это копирует данные в стандартный вывод. А вот кто эти данные дальше обрабатывать будет (апач, маршрутизаторы по пути между сервером и клиентом, браузер пользователя) - это уже другой вопрос.