![]() |
Модераторы: LSD |
![]() ![]() ![]() |
|
MAKCim |
|
||||||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 8 Всего: 207 |
рассмотрим арифметику
Java
C
итого с простой арифметикой Java работает в 1.809 / 0.891 ~ 2.03 раза медленнее, чем код ICC и в 1.809 / 1.419 ~ 1.27 раз медленнее, чем код GCC Это сообщение отредактировал(а) MAKCim - 7.6.2008, 12:21 -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
||||||
|
|||||||
W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 2 Всего: 121 |
MAKCim, интересно, чего туда icc напихал, что аж почти в два раза обошёл gcc?
PS Так вот, кто такой rei3er ![]() -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
3,14 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1614 Регистрация: 18.6.2004 Где: Н. Новгород Репутация: 1 Всего: 24 |
MAKCim, тут нужно смотреть, ближайшие дня три, мне точно некогда будет :( Первое что приходит в голову: нужно проверить одинаковые ли диапозоны используются для java-кого long (жёстко прописан и не зависит от процессора) и c++ long (зависит от процессора).
-------------------- Может быть, это только мой бред, Может быть, жизнь не так хороша, Может быть, я не выйду на свет, Но я летал, когда пела душа... |
|||
|
||||
Мастер |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 0 Регистрация: 17.5.2008 Репутация: нет Всего: нет |
А кто за тебя код писать будет? В Java есть механизм запуска параллельных процессов. (Ищи по клюевому слову Thread.) Вот пример:
В Java есть механизм синзронизации параллельных процессов. (Ищи по клюевому слову synchronized.) Вот пример:
|
||||||
|
|||||||
Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 4 Всего: 154 |
![]() а используя нативный код потоки синхронизировать нельзя? Добавлено через 25 секунд становится все интересней и интересней ![]() |
|||
|
||||
Мастер |
|
||||
Новичок Профиль Группа: Участник Сообщений: 0 Регистрация: 17.5.2008 Репутация: нет Всего: нет |
Всё, что можно на Java и на JavaScript, можно сделать и на Си, и на ASM. Разница в том, что Java компилятор и библиотеки помогут. (Поэтому можно написать быстро качественный код.) На Си придётся писать то, что в Java уже есть, и компилятор Си не поможет тебе там, где ты можешь сделать ошибку. Приведу пример. NASA потеряла миллиард из-за ошибки программиста. Их спутник сгорел в атмосфере Юпитера. (Программист, подлец, перепутал футы с метрами.) Пример не самый удачный. Есть другой. Нашь спутник (не помню где, на Венере, кажется) помер в семидесятых. Причина: компилятор фортрана. Он не заметил ошибку в коде. Тут было что-то связанное с циклом FOR. При некоторых ошибках в его написании, он превращается в валидную, с точки зрения компилятора, стоку. Добавлено через 5 минут и 19 секунд
![]() ![]() |
||||
|
|||||
Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 4 Всего: 154 |
||||
|
||||
Mayk |
|
||||||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 2 Всего: 134 |
Это фигня а не распараллеливание. Вот эрланг с его легковесными процессами - это айс. Не совсем понял что к чему. На яве что, нельзя допустить ошибок? ![]()
эта строка была отквочена чтоб не забыть забенчить double'ы +1 зы. я уже правда потерял нить флейма и о чем мы вообще, но веселье продолжается. Добавлено через 44 секунды
в posix thread он тоже есть. -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
||||||
|
|||||||
Lazin |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 4 Всего: 154 |
этот код делает примерно то-же что и предыдущий пример на java
![]()
Добавлено через 5 минут и 28 секунд
![]() язык С++, в отличие от Java поддерживает метапрограммирование в compile time, есть как-бы две программы, первая выполняется в compile time, а вторая в run time... так вот, компилятор С++ можно заставить во время компиляции проверять единицы измерения переменных в выражениях, и он не даст переменной имеющей тип Watt присвоить значение типа Amper ![]() Добавлено через 6 минут и 56 секунд в Java это можно сделать только в runtime |
||||
|
|||||
Мастер |
|
|||
Новичок Профиль Группа: Участник Сообщений: 0 Регистрация: 17.5.2008 Репутация: нет Всего: нет |
Логическая ошибка - это уж ты сам. Но и тут, как правило, компилятор помогает, поскольку логическая ошибка, если ты придерживаешься правил ООП, приводит к несоответствию классов, это компилятор отслеживать умеет. |
|||
|
||||
MAKCim |
|
||||||||||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 8 Всего: 207 |
палюсь ![]() я бы и сам хотел изменить ник, но пока нельзя
да
гы-гы-гы ![]()
аналогично
-------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
||||||||||
|
|||||||||||
Мастер |
|
|||
Новичок Профиль Группа: Участник Сообщений: 0 Регистрация: 17.5.2008 Репутация: нет Всего: нет |
Возьмите Java1 и посмотрите исходники (как AWT в ней устроено?). (Обалденно интересно.) Тогда вы поймете Java2. Эсли вы первую яву не поняли, то этот монстр(ява два) вам не отдастся никогда. Это сообщение отредактировал(а) Мастер - 7.6.2008, 14:08 |
|||
|
||||
Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 4 Всего: 154 |
ну тогда она ничего нового не предлагает, все то-же самое что и в других языках =) |
|||
|
||||
MAKCim |
|
||||||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 8 Всего: 207 |
боюсь, будет разгром ибо ICC порвет всех
![]() -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
||||||
|
|||||||
Мастер |
|
|||
Новичок Профиль Группа: Участник Сообщений: 0 Регистрация: 17.5.2008 Репутация: нет Всего: нет |
Ну это ты зря... Java освобождает тебя от мыслей о том, как это сделано. Ты просто юзаешь удобную, современную вещь. При этом, то, что ты написал, будет работать везде, на любой железке, на которой реализована Java (если, конечно, у железяки мощи хватит исполнить твой код). |
|||
|
||||
![]() ![]() ![]() |
Правила ведения Религиозных войн | |
|
1. Уважайте собеседника 2. Собеседник != враг 3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez" С уважением, Smartov. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Религиозные войны | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |