Главное меню
Мы солидарны с Украиной. Узнайте здесь, как можно поддержать Украину.

C# vs Java (производительность)

Автор myst, ноября 24, 2010, 19:49

0 Пользователи и 1 гость просматривают эту тему.

myst

Слепил наколенную поделку для подсчёта количества всевозможных трёхсимвольных сочетаний в массиве текста (300 Мб). Код один в один.
java -client  — 1:50
java -server — 1:26
.NET (с оптимизацией) — 2:19
.NET (без оптимизации) — 2:14 :o

Жаба невозбранно порвала дотнетик. :smoke:

RawonaM

Покажь код. :)

Я тут уже вторую неделю проект на дотнете по работе разрабатываю, наконец-то добрался до си-диеза как следует :)

myst


public class PartsFreq
{     
public static void main(String[] args) throws IOException
{                   
final int                ngram_size = 3;
HashMap<String, Integer> pieces     = new HashMap<String, Integer>();
BufferedReader           r          = new BufferedReader(
new InputStreamReader(System.in, "cp1251"));
String str;
while((str = r.readLine()) != null)
{
for (int pos = 0; pos <= str.length() - ngram_size; pos++)
{
String piece = str.substring(pos, pos + ngram_size);
if (!pieces.containsKey(piece)) pieces.put(piece, 1);
else pieces.put(piece, pieces.get(piece) + 1);
}
}
for(String piece : pieces.keySet())
System.out.printf("%s %d\n", piece, pieces.get(piece));
}
}


class PartsFreq
{     
static void Main()
{                   
var       pieces     = new Dictionary<string, int>();
const int ngram_size = 3;
string    str;
while((str = Console.In.ReadLine()) != null)
{
for(int pos = 0; pos <= str.Length - ngram_size; pos++)
{
string piece = str.Substring(pos, ngram_size);
if (!pieces.ContainsKey(piece)) pieces.Add(piece, 1);
else pieces[piece]++;
}
}
foreach (KeyValuePair<string, int> de in pieces)
Console.Out.WriteLine("{0} {1}", de.Key, de.Value);
}
}


Demetrius

Вот интересно, а кто-то пробовал сравнивать оракульно-солнечную жабу и андроидную гугложабу при прочих равных? У гугла там регистры...

myst


myst



iopq

Console.Out.WriteLine
System.out.printf

т.е. тот язык который умеет текст показывать быстрее выигрывает

без текста кажется будет гораздо быстрее
Poirot: Я, кстати, тоже не любитель выпить, хоть и русский.
jvarg: Профессионал? ;)

myst

Цитата: iopq от ноября 25, 2010, 07:34
т.е. тот язык который умеет текст показывать быстрее выигрывает

без текста кажется будет гораздо быстрее
Неправильное предположение.


Bhudh

Offtop
Цитата: Яндекс!синтаксический — Нашлось 144 тыс. ответов


!синтактический — Нашлось 1986 ответов
Быть может, вы искали: «!синтаксический»
>(
Причём почти все ссылки по второму запросу на словари, в которых прямым текстом указано:
Цитата: греч. syntaktikos
Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо

Demetrius


Bhudh

Offtop
Против выравнивания (а также против не очень широких полей и достаточного лайн-спэıсинга) ничего не имею.
А вот извращение классического словообразования побешивает...
Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо

Demetrius


iopq

Poirot: Я, кстати, тоже не любитель выпить, хоть и русский.
jvarg: Профессионал? ;)

Bhudh

Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо

Demetrius

На вики статья «синтаксис», а не «синтаксический».

Bhudh

Во-во. А в англе к тому прилагательное syntactic.

Давайте теперь говорить не «тактическое вооружение», а «таксическое», а?‥
Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо

Demetrius

Ну и что? Может вы ещё и «грамоту» исправлять будете?

Dana

Offtop
Цитата: Bhudh от ноября 26, 2010, 01:57
греч. syntaktikos
Ну и? Из греческого заимствовано существительное «синтаксис».
А «синтаксический» образовано по русским моделям. Cf. фр. syntaxique.
Homo homini cattulus est

Хто не знає про добро, той завжди буде злим,
Хто забув свою мову, той прокинеться німим,
Хто завжди був рабом, той залишиться ніким,
Все почалося з нічого і закінчиться нічим...

Bhudh

Offtop
Ага! Так вот откуда ноги растут! Нет тут русской модели, тут у французов и слямзили.
Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо

myst


myst

MSVC 2010 (-Ox -GL, линковка с dll'ками, -arch:AVX) — 1:35. Жаба совсем близко...

myst

gcc 3.4.4 (cygwin, -O2) — 8:51,45 Прервал не дождавшись конца. :o

Быстрый ответ

Обратите внимание: данное сообщение не будет отображаться, пока модератор не одобрит его.

Имя:
Имейл:
Проверка:
Оставьте это поле пустым:
Наберите символы, которые изображены на картинке
Прослушать / Запросить другое изображение

Наберите символы, которые изображены на картинке:

√36:
ALT+S — отправить
ALT+P — предварительный просмотр