Сбой сборки из-за ошибок cstdio и cstdlib в визуальном C ++

Я написал простой Java Downloader, и у меня возникли проблемы со скоростью.

Сначала скорость в порядке - точно так же, как когда я использую свой браузер для загрузки этого файла . Но через некоторое время скорость сильно снижается и меняется каждые две секунды - с 42 кб / с до 64 кб / с и с 64 кб / с до 42 кб / с.

Мой код:

InputStream is = null;
FileOutputStream os = null;
os = new FileOutputStream(...);
URL u = new URL(...);
URLConnection uc = u.openConnection();
is = uc.getInputStream();
final byte[] buf = new byte[1024];
for(int count = is.read(buf);count != -1;count = is.read(buf)) {
    os.write(buf, 0, count);
}

Что мне делать, чтобы максимизировать скорость загрузки ?

ОБНОВЛЕНИЕ

Размеры файлов варьируются от 1 до примерно 100 МБ. Я увеличил буфер до 65536.

По поводу измерения: каждые 3 секунды я проверяю, сколько байтов было записано, а затем делю его на 3 и 1024 - это дает мне кбит / с

8
задан T.J. Crowder 22 May 2011 в 08:11
поделиться