Ответ 1
После некоторого дальнейшего размышления, я считаю, что вы просите что-то, что может быть (возможно!) возможно технически; но требуют больших усилий; но концептуально это не очень хороший подход.
Я предполагаю, что ваше требование состоит в том, что вы хотите использовать любое приложение, брошенное на вас, чтобы улучшить его производительность, делая "под распараллеливанием крышки".
Итак, вместо того, чтобы иметь реальное решение, у меня в основном есть список проблем:
- Прежде всего, если вы даже хотите изменить уже запущенные методы и в настоящее время, вы не только говорите об инструментах. То, что вы на самом деле хотите сделать, это предоставить свой собственный механизм JIT, в то время как JVM JIT также существует и выполняет свою работу.
- Итак, если вы действительно серьезно относитесь к этому; и хотите удостовериться, что даже вещи в любом
main()
могут извлечь выгоду из ваших оптимизаций - тогда я думаю, что концептуально вы лучше разрабатываете и реализуете свою собственную JVM. - Тогда мне интересно: вы говорите, хотите использовать методы
main()
, которые уже запускают "длинные петли". Похоже, вы намереваетесь исправить плохие проекты, бросив на него инструментарий. Я думаю, что более здравый подход: изучить такие приложения и улучшить их дизайн. - В смысле: если "распараллеливание" произвольных приложений было бы "таким легким" - в любом случае это было бы частью JVM. И тот факт, что это не так; и что JVM не делает таких оптимизаций по уважительной причине: возможно, это супер жесткий, чтобы получить это правильное и надежное.
Другими словами: я думаю, у вас есть проблема XY; и проблема X заключается в том, что приложение (ы), с которым вы имеете дело, может извлечь выгоду из "распараллеливания". Но это очень сложно сделать "вообще".
В этом смысле; Я бы предпочел определить некоторую архитектуру (которая может включать конкретные, четко определенные шаги, как приложение должно "запускаться", чтобы ваша инструментария могла успешно выполнять свою работу), и сначала приобретите опыт этого подхода. Смысл: расскажите своим людям, чтобы они не ставили "длинные петли" в их main()
в первую очередь (как сказано, это само по себе для меня очень плохой дизайн!).