32 / 1 / 1
Регистрация: 09.06.2013
Сообщений: 75
Записей в блоге: 1
1

Ускорить работу интерпретатора

11.08.2013, 15:03. Показов 2948. Ответов 14
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Очень тяжелый скрипт на 2 часа при работе загружает проц только на 10-15%. Есть ли какие-то настройки для apache или php чтобы отдать больше мощности для скрипта?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.08.2013, 15:03
Ответы с готовыми решениями:

Как ускорить работу вебсайта
Основнок время при работе вебсайта это запрос к базе данный.Как работает жесткий диск: ...

Ускорить работу тестов
Практически в каждом тесте точнее в класе тестов в setUp вызываю такую функцию $this->client->request( 'POST', ...

работа интерпретатора php
приветсывую, вот что не понимаю, вот етот код не виведит ничего, и ето понятно. echo $b; $b = "chto to"; но ето виведит:...

14
601 / 468 / 73
Регистрация: 22.01.2009
Сообщений: 1,180
Записей в блоге: 1
11.08.2013, 15:28 2
из принципиально существенных -- нет. Есть всякие байткод кешеры, но они предназначены для того, чтобы не компилировать код каждый раз, не более... Если у вас скрипт работает 2 часа, то не думаю, что вам поможет это кеширование, ну конечно, если у вас скрипты размером не с гигабайт (а если так, то вам нужно слишком много памяти для того, чтобы это закешировать).
Ускоряйте алгоритм
0
 Аватар для Денис Н.
463 / 463 / 23
Регистрация: 17.08.2011
Сообщений: 1,488
11.08.2013, 15:30 3
Может это парсер какой нибудь... грузит контент
0
32 / 1 / 1
Регистрация: 09.06.2013
Сообщений: 75
Записей в блоге: 1
11.08.2013, 15:43  [ТС] 4
Это не парсер, алг описывал в соседней теме Вычисление повторов в большой таблице

Ради скорости уже укорачивал переменные и делал другие мелкие вещи (прирост в несколько %), но как ускорить if я не знаю.

Уже подумывал над расширением на C, но сложновато, решил отложить как крайний вариант.
0
508 / 358 / 13
Регистрация: 12.03.2012
Сообщений: 1,896
11.08.2013, 17:01 5
Вероятно, код работает на одном ядре (тогда максимум он 25% сожрет на 4 ядрах), а меньше жрет из-за того, что кроме вычислений занимается IO (диск, запросы к сети и СУБД).
Запускать задачи параллельно придется, чтобы использовать все ресурсы.
0
32 / 1 / 1
Регистрация: 09.06.2013
Сообщений: 75
Записей в блоге: 1
11.08.2013, 17:25  [ТС] 6
А вы подсказали идею на счет параллельности. Осталось только продумать, не может ли это вызвать непредвиденных ситуаций.

Могли бы вы посмотреть на алг, может как-то можно оптимизировать (на счет запросов в цикле к папкам сделал так, потому, что лучше пускай в массиве будет небольшие данные, чем сразу вся база, так быстрее выходит)?
0
508 / 358 / 13
Регистрация: 12.03.2012
Сообщений: 1,896
11.08.2013, 18:14 7
Цитата Сообщение от iproger Посмотреть сообщение
Осталось только продумать, не может ли это вызвать непредвиденных ситуаций.
Может и вызовет. Надо учитывать.

Цитата Сообщение от iproger Посмотреть сообщение
может как-то можно оптимизировать
Значительно нельзя.

Цитата Сообщение от iproger Посмотреть сообщение
(на счет запросов в цикле к папкам сделал так, потому, что лучше пускай в массиве будет небольшие данные, чем сразу вся база, так быстрее выходит)
Запись в базу сразу кучей записей значительно быстрее.
0
32 / 1 / 1
Регистрация: 09.06.2013
Сообщений: 75
Записей в блоге: 1
11.08.2013, 18:20  [ТС] 8
Цитата Сообщение от OnYourLips Посмотреть сообщение
Запись в базу сразу кучей записей значительно быстрее.
Уже стоит в задачах. Сколько можно update`ов за 1 раз сделать?
0
38 / 38 / 13
Регистрация: 22.07.2013
Сообщений: 197
11.08.2013, 18:47 9
Эт смотря какой максимальный размер пакета. А если скрипт и база на одной машине, то LOAD DATA INFILE рулит.
0
508 / 358 / 13
Регистрация: 12.03.2012
Сообщений: 1,896
11.08.2013, 19:31 10
Цитата Сообщение от iproger Посмотреть сообщение
Уже стоит в задачах. Сколько можно update`ов за 1 раз сделать?
Цитата Сообщение от Camaro396 Посмотреть сообщение
Эт смотря какой максимальный размер пакета. А если скрипт и база на одной машине, то LOAD DATA INFILE рулит.
Так же по 1 добавляй, но внурти транзакции.
Вот так без измененияй кода(лишь с добавлением нескольких строк) увеличишь производительность инсертов в сотни раз. Наверняка этого будет достаточно.
0
32 / 1 / 1
Регистрация: 09.06.2013
Сообщений: 75
Записей в блоге: 1
12.08.2013, 00:25  [ТС] 11
Мне в основном update`ы надо сейчас делать, но все равно спасибо за совет)

Добавлено через 4 часа 41 минуту
Подумал на счет параллельности. Не получится, к сожалению.

Может получится ситуация, когда 2 -файла дубликата из разных папок запишутся как повторы.
0
508 / 358 / 13
Регистрация: 12.03.2012
Сообщений: 1,896
12.08.2013, 09:25 12
Цитата Сообщение от iproger Посмотреть сообщение
Подумал на счет параллельности. Не получится, к сожалению.
Может получится ситуация, когда 2 -файла дубликата из разных папок запишутся как повторы.
Так у тебя должна быть дополнительная логика для контроля повторов. Просто так ничего не получится.
0
32 / 1 / 1
Регистрация: 09.06.2013
Сообщений: 75
Записей в блоге: 1
12.08.2013, 11:50  [ТС] 13
Дополнительная логика выразится в большом количестве костылей.

Например, идет анализ контрольных сумм файлов папки 20 с папкой 21. В это же время, в другом потоке, сравнивается 21 с 20. Первый поток находит совпадение и записывает: "запись n папки 20 - дубль". Второй поток тоже найдет повтор, но зачет дубль файлу из 21 папки. В итоге - для удаления будет 2 записи вместо 1.

Можно было бы сделать алг, который бы одинаково работал бы даже в двух потоках (исключал вышенаписанное), но повтор может быть засчитан для уже обработанной, например, 1й папке (...а сравнивались 20 с 1).
0
38 / 38 / 13
Регистрация: 22.07.2013
Сообщений: 197
12.08.2013, 12:50 14
Называй файлы на диске именем их хэша.
0
32 / 1 / 1
Регистрация: 09.06.2013
Сообщений: 75
Записей в блоге: 1
12.08.2013, 12:56  [ТС] 15
Так смысла особого то нет (тем более, файлы занимают очень много места и копию с названиями-хешами сделать не получится). В ассоциации база-название файла -> файл на диске проблем нет.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.08.2013, 12:56
Помогаю со студенческими работами здесь

PHPStorm просит сконфигурировать интерпретатор, а интерпретатора нет в списке.
Вот что оно от меня хочет?? я уже 2 часа сижу весь интернет перешарил ничево немогу никак найти.

ускорить работу скрипта
Друзья - php скрипт выполняется более 400 секунд! Подскажите что можно подправить - что бы ускорить работу! <?php $dbh =...

Ускорить работу Windows
Как можно ускорить работу пк, без перестановки

Ускорить работу программы
Здравствуйте. Помогите пожалуйста ускорить работу программы: n = d = for i in range(n): d.append(list(map(int,...

Ускорить работу с файлами
Всем привет! Вот код программы: void FileCompare(Object Info) { ProgressBar progressBar =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

Новые блоги и статьи
Сопоставление с образцом (Pattern Matching) в Python: Списки и словари
py-thonny 19.03.2025
Программисты любят, когда код говорит сам за себя. Представьте, что вы можете просмотреть структуру данных и мгновенно понять, что с ней делать — без сложных условий и вложенных проверок. Именно эту. . .
Работа с метаданными EXIF и JPEG в JavaScript
run.dev 19.03.2025
Работа с изображениями в веб-разработке нередко выходит за рамки простого отображения картинки. Современные задачи требуют глубокого понимания структуры файлов и умения манипулировать их внутренними. . .
Чеклист для Kubernetes в продакшене: Лучшие практики для SRE
Mr. Docker 19.03.2025
Когда сталкиваешься с запуском Kubernetes в продакшене, невольно задаешься вопросом: почему то, что так гладко работало в тестовой среде, вдруг начинает вызывать головную боль на боевых системах?. . .
Разработка продвинутого ИИ в Unity с использованием Behavior Graph
GameUnited 19.03.2025
В разработке игр искусственный интеллект персонажей часто становится тем элементом, который превращает хорошую игру в выдающуюся. До недавнего времени разработчикам под Unity приходилось либо писать. . .
Словари в Python: методы работы, оптимизация, сериализация
py-thonny 19.03.2025
Каждый хотя бы раз сталкивался с необходимостью хранить связанные данные, где важна не только сама информация, но и их взаимосвязь. В дебрях Python словари — это тот универсальный инструмент, который. . .
Реализация паттерна CQRS с Event Sourcing в PHP
Jason-Webb 19.03.2025
CQRS (Command Query Responsibility Segregation) — это архитектурный паттерн, который разделяет операции чтения и записи данных в приложении. Если вы столкнулись с ситуацией, когда ваше PHP-приложение. . .
std::span в C++: Подпредставлени­я и срезы
NullReferenced 18.03.2025
Если вы когда-нибудь работали с большими объемами данных в C++, то наверняка сталкивались с необходимостью манипулировать отдельными частями массивов или контейнеров. Традиционные подходы часто. . .
std::span в C++: Доступ к элементам и итерирование
NullReferenced 18.03.2025
В C++ каждый разработчик сталкивается с проблемой эффективного управления последовательностями данных. Представьте: вы работаете с массивом, передаете его в функцию, а затем в другую, и каждый раз. . .
Утечки памяти в C#
UnmanagedCoder 18.03.2025
Когда мы говорим о разработке приложений на C#, то часто успокаиваем себя мыслью, что сборщик мусора решит все наши проблемы с памятью. "Память управляется автоматически" — эта мантра прочно засела в. . .
std::span в C++: Введение в невладеющее представление
NullReferenced 18.03.2025
С появлением стандарта C++20 у нас появился новый инструмент — std::span, который представляет собой невладеющее представление для работы с последовательностями данных. std::span — это легковесный. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru