2011-11-23 3 views
-2

Я разработал приложение в java (eclipse) для анализа XML-файлов (около 400), сохранил их в объекте базы данных (neodatis), а затем вычислил сходство между эти файлы. Но при запуске моего компьютера это быстрый плуг. Некоторые советуют мне перейти на облачные вычисления (Windows Azure, Amazon EC2, Google App Engine и т. Д.). Как вы думаете? Я также считаю, суперкомпьютер! Спасибо.Как выполнить приложение Java в облачных вычислениях или в суперкомпьютере

ответ

3

Сравнение 400 документов XML, конечно же, не является территорией суперкомпьютера. Возможно, кластер был бы хорош, нажав, но на самом деле рабочий стол должен быть в состоянии сделать это абсолютно нормально. Если бы я был вами, я бы сначала посмотрел на оптимизацию вашего кода, поэтому он работает для 400 документов на рабочем столе. Возможно!

Одной из возможных причин неэффективности может быть то, что вы выполняете N Сравнивайте операции, которые не масштабируются хорошо. Возможно, вы можете посмотреть на некоторые алгоритмы графа/кластеризации, чтобы сократить количество сравнений, которые вам нужно сделать.

+1

Просто для поддержки @Joe: Не бойтесь, если вычисление занимает несколько часов. Я могу представить, что это одноразовая задача, и перемещение таких вещей в облако, когда вы не испытываете, быстро займет несколько дней. Поэтому, даже если ваш расчет займет несколько дней, вы все равно будете быстрее. Может быть, добавить какой-то отчет о прогрессе, чтобы вы могли оценить, как быстро он прогрессирует. – Yuri

+0

Это правда. Кроме того, есть несколько вещей, более удовлетворяющих, чем просмотр кода с помощью данных! – Joe

+0

Спасибо за помощь. Но я сравниваю документы как компарадионы деревьев, иногда по 50 путей на дерево !!! Для одного компаранинга (два дерева) потребовалось 8 часов, поэтому на 400 деревьев это невозможно. Что я могу сделать для оптимизации моего кода? Большое спасибо – Nassiba

Смежные вопросы