2011-02-02 2 views
0

Я пишу крупномасштабное финансовое приложение, которое я использую в основном для Java. Теперь, чтобы получить некоторые данные, мне нужно написать небольшой скрипт (< 200 LOC), чтобы загрузить CSV-файлы (более 20 000 из них) и сохранить их на диск. Мне нужно, чтобы это было быстро, но несколько минут для меня не меняют. Я планировал написать его на Java, что не очень сложно, но я бы сделал намного быстрее, если бы написал его в Ruby, поэтому мне было интересно, будет ли большая разница в скорости между Ruby (или JRuby) и Java. 20 000 файлов - всего около 1/2 мегабайта, а сервер, с которого я загружаюсь, не хочет раздавать данные (это вполне законно, не беспокойтесь об этом), поэтому мое приложение должно случайно спать в между, и, если сайт отклоняет запрос, он должен спать 3 минуты.Java или Ruby, это имеет значение?

Рекомендации по любым другим типам языков, отличных от Java, приветствуются.

+0

Кто-то отказался от этого через 4 месяца ?! –

ответ

9

Используйте все, что вам удобно. Скорость внедрения языка, вероятно, не будет проблемой, скорость сети и сон, которые вы должны вставить, в любом случае будут узким местом.

+2

+1 Если вы собираетесь скачивать 20k + файлы по 500KB каждый, вы не должны беспокоиться о скорости языка, вы будете ждать гораздо дольше для накладных расходов на соединение, чем что-либо еще. – Endophage

+2

Он будет спать между соединениями больше всего на свете. –

2

Похоже, ваше приложение будет O оценка I /, поэтому скорость языка не так уж важно

В языке, как Ruby, или Python, я бы ожидать, что это будет больше похоже на 20 LOC или меньше. Тем более, что у вас ограниченная скорость запроса, нет смысла использовать одновременные подключения, чтобы попытаться ускорить работу до

Если у вас есть куча машин с разными IP-адресами (или одна машина с несколькими внешними адресами), вы можете разделить работа над тем, чтобы ускорить работу, поскольку ограничение скорости обычно осуществляется по ip-адресу

Откуда берутся ваши URL?

+0

finance.google.com <- Я написал аналогичную программу на Python (по общему признанию, это было ужасно написано), и потребовалось около 9 часов. –

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