Объявление

Односложные и бессмысленные темы, не несущие полезную нагрузку или не содержащие в себе вопрос, будут удаляться!

#1 07-11-10 11:03:44

Luca
Участник
Здесь с 03-09-09
Сообщений: 1,545

Байт-код vs. нативный код

По мотивам habrahabr.ru/blogs/net/107585/.
Где, когда и что лучше?
Прошу воздержаться от Java vs .NET для этого есть отдельная тема.

Вне форума

#2 07-11-10 11:42:10

Tiphon
Забанен
Здесь с 08-07-10
Сообщений: 2,718

Re: Байт-код vs. нативный код

Там все правильно написано.
Как правило цена/качество у .нет оказывается лучше. Отсюда его популярность.


Квантовая механика - "малопонятный математический курьёз" (с) msAVA - современный учитель.

Вне форума

#3 07-11-10 14:58:59

petrun
Участник
Здесь с 22-10-09
Сообщений: 3,172

Re: Байт-код vs. нативный код

Там не про байткод.
Почему-то все в упор не замечают современных высокоуровневых компилируемых языков. Со сборкой мусора.


Анархия-мама сынов своих любит

Вне форума

#4 07-11-10 15:09:21

Svart Testare
Великий Человек
Откуда: Вселенной
Здесь с 05-10-09
Сообщений: 5,481
Сайт

Re: Байт-код vs. нативный код

petrun пишет:

Почему-то все в упор не замечают современных высокоуровневых компилируемых языков. Со сборкой мусора.

Например, каких?


«Коллективная глупость — индивидуальный признак толпы» © SLOR, 28 апреля 2011 г.
«Где пьёт толпа, все родники отравлены» © Фридрих Ницше.
Requiescat in pace, SLOR! © Уход Hedge 24 мая 2011 г.

Вне форума

#5 07-11-10 15:40:34

Luca
Участник
Здесь с 03-09-09
Сообщений: 1,545

Re: Байт-код vs. нативный код

Svart Testare пишет:

Например, каких?

D?

Вне форума

#6 07-11-10 16:42:21

spoilt
Оппозиционер
Здесь с 01-01-10
Сообщений: 1,814

Re: Байт-код vs. нативный код

blog.evernote.com/ru/2010/10/27/evernot … s-is-here/
Нативный код будет всегда быстрее. Просто потому, что для его исполнения не нужны преобразования. Линк сверху в подтверждение.


We'll force you to be nice to each other
Kill you before you kill each other

Вне форума

#7 07-11-10 19:05:52

DonDublon3
Участник
Откуда: Уфа
Здесь с 06-05-10
Сообщений: 676

Re: Байт-код vs. нативный код

Luca пишет:

Где, когда и что лучше?

Чесгря, не понятно, о чем тут говорить вообще.
Ежу понятно, что нативный код быстрее. Соответственно, его лучше использовть когда критично быстродействие, причем запускаются разные процессы. Байткод - это, вообще слишком общая характеристика, байткод бывает разный, питоновский pyc - тоже байткод.
В общем случае, байткод содержит какие-то свои вкусняшки, наверное единственное общее в разных байткодах - это переносимость. Ну и когда эти вкусняшки важны - тогда байткод.
Больше разговаривать, если не отвлекаться от основного вопроса топика, не о чем.


"Фу бля, крохобор вонючий" (с) Svart Testare

Вне форума

#8 07-11-10 19:10:57

MOP3E
Участник
Здесь с 05-10-09
Сообщений: 4,208

Re: Байт-код vs. нативный код

размытый шрифт, долгое время загрузки, большое потребление памяти и плохая поддержка видеокарт. Все это было обусловлено спецификой технологий, лежащих в основе 3.5 (Windows .NET и WPF), на которые мы никак не могли повлиять

Вот мне вообще непонятно - каким образом .Net влияет, например, на возможность или невозможность работы с конкретной видеокартой?


Я не игрушечный. Я, б*я, коллекционный! (с) Duke Nukem Forever
Я не специалист по [вставить название]. Мне главное концептуально решить задачу! (с) АхаRu.
Линукс - это альтернативная ОС о которой известно, что она не является ОС ну вот просто ни разу. (с) Linups_Troolvalds.
А с какого такого перепугу пользователей линукса должно быть больше 1%? (с) petrun

Вне форума

#9 07-11-10 21:09:23

petrun
Участник
Здесь с 22-10-09
Сообщений: 3,172

Re: Байт-код vs. нативный код

Svart Testare пишет:

Например, каких?

Ocaml, Haskell, Clean, modula-3, D.


Анархия-мама сынов своих любит

Вне форума

#10 07-11-10 21:59:50

Tiphon
Забанен
Здесь с 08-07-10
Сообщений: 2,718

Re: Байт-код vs. нативный код

spoilt пишет:

Нативный код будет всегда быстрее.

Быстрее - ассемблер. Зачем изобрели другие языки?

Luca пишет:

D?

Да тоже кривой он.

petrun пишет:

Ocaml, Haskell, Clean, modula-3

Они не решают  проблемы интеграции.


Квантовая механика - "малопонятный математический курьёз" (с) msAVA - современный учитель.

Вне форума

#11 07-11-10 22:24:49

petrun
Участник
Здесь с 22-10-09
Сообщений: 3,172

Re: Байт-код vs. нативный код

Tiphon пишет:

Они не решают  проблемы интеграции.

На название темы посмотрите, тут не про .NET.

Tiphon пишет:

Быстрее - ассемблер. Зачем изобрели другие языки?

Конкретно сейчас писанное на ассемблере обычно медленней. Так как аппаратура сложная. Ну не может человек адекватно распределятиь ргистры руками(пример!).
Так что мимо кассы.


Анархия-мама сынов своих любит

Вне форума

#12 07-11-10 22:33:39

ikkunan salvataja
Участник
Здесь с 30-01-10
Сообщений: 2,803

Re: Байт-код vs. нативный код

petrun пишет:

Конкретно сейчас писанное на ассемблере обычно медленней.

Ну если программу на ассемблере будет писать Пашик, то да, будет медленней, он там такого понапишет.

petrun пишет:

Так как аппаратура сложная. Ну не может человек адекватно распределятиь ргистры руками(пример!).

А компайлер писанный тем же человеком значит может? Кстати компайлер как раз с регистрами плохо работает, намного хуже человека.


Yesterday it worked.
Today it is not working.
Windows is like that.

Вне форума

#13 07-11-10 22:55:56

Tiphon
Забанен
Здесь с 08-07-10
Сообщений: 2,718

Re: Байт-код vs. нативный код

petrun пишет:

На название темы посмотрите, тут не про .NET.

Не троль. Ты из не многих, кто реально может что-то обсуждать, а не тролить, так и не троль.

petrun пишет:

На название темы посмотрите, тут не про .NET.

Так вот, как раз таки - нет. Тк.к. все приведенные тобой "Ocaml, Haskell, Clean, modula-3, D." имеют сборщики мусора, возможен даже эффективны жит их, наверное, хотя они этого не показывают, на сколько я знаю. Ну вот ты сделаешь это для Ocaml. А дальше-то что? А дальше нужны какие-то библиотеки. Они для каких-то языков более слабенькие, для каких-то более сильные. Это зависит не только от авторов библиотек, но и от самих языков. Далее получается простая штука, ты хочешь что-то написать и оптимальнее всего тебе было бы использовать для некоторых функций ОКамл, а для других Д, но часть критичных к быстродействию операций на C. А потом перенести все это на другую платформу. То тут окажется, что если я на всех этих языках (Окемл => F#, напиример) писал под байт код .NET, то у меня не будет такой проблемы. А у тебя с нативным кодом - будут.


Квантовая механика - "малопонятный математический курьёз" (с) msAVA - современный учитель.

Вне форума

#14 07-11-10 23:39:54

petrun
Участник
Здесь с 22-10-09
Сообщений: 3,172

Re: Байт-код vs. нативный код

ikkunan salvataja пишет:

А компайлер писанный тем же человеком значит может?

Компайлер писанный человеком может использовать ресурсоемкие алгоритмы оптимизации. Человек физиологически не способен одновременно оперировать сотней параметров, что для межпроцедурного анализа ситуация частая. Компайлер аккуратнее, он всегда следит за локальностью и возможными инлайнами.

Tiphon пишет:

Не троль.

Ни в коем разе.
ПРосто мне казалась сама тема не про платформу .NET,а про байт-код в общем случае. Или вы имеете в виду, что байткод хорош тем, что на нем возможны вещи вроде .NET?
Если так, то в идеальном мире этим должна ОС заниматься. Посмотрите в сторону inferno и MSR singularity.


Анархия-мама сынов своих любит

Вне форума

#15 07-11-10 23:45:53

spoilt
Оппозиционер
Здесь с 01-01-10
Сообщений: 1,814

Re: Байт-код vs. нативный код

Tiphon пишет:

Быстрее - ассемблер. Зачем изобрели другие языки?

Писать программы целиком на асме было моветоном еще в семедисятых. Потому что скорость разработки на языках высокого уровня будет выше, а разница в результатах порой пренебрежительно мала.


We'll force you to be nice to each other
Kill you before you kill each other

Вне форума

#16 07-11-10 23:57:53

Zloy
Забанен
Здесь с 07-11-10
Сообщений: 4

Re: Байт-код vs. нативный код

ikkunan salvataja пишет:

Ну если программу на ассемблере будет писать Пашик, то да, будет медленней, он там такого понапишет.

Ты за себя говори, клоун, еси чо,ага? mad

Вне форума

#17 08-11-10 00:02:08

spoilt
Оппозиционер
Здесь с 01-01-10
Сообщений: 1,814

Re: Байт-код vs. нативный код

Павел?  roll


We'll force you to be nice to each other
Kill you before you kill each other

Вне форума

#18 08-11-10 00:12:38

Zloy
Забанен
Здесь с 07-11-10
Сообщений: 4

Re: Байт-код vs. нативный код

spoilt пишет:

Павел?

Нет, это призрак вашего коммунизма, блин. big_smile

Вне форума

#19 08-11-10 00:40:53

ikkunan salvataja
Участник
Здесь с 30-01-10
Сообщений: 2,803

Re: Байт-код vs. нативный код

petrun пишет:

Компайлер писанный человеком может использовать ресурсоемкие алгоритмы оптимизации. Человек физиологически не способен одновременно оперировать сотней параметров, что для межпроцедурного анализа ситуация частая. Компайлер аккуратнее, он всегда следит за локальностью и возможными инлайнами.

Да, это круто, это я даже комментировать не буду.

Zloy пишет:

Ты за себя говори, клоун, еси чо,ага?

Пашик, ты? Тебя здесь забанили? А конвертер для Линфана ты на ассемблере писать будешь?
Кстати, ты как то спрашивал как длинную строку разбить на подстроки не более 80-ти байт?
На тебе на ассемблере, правда разобьёт на юниксовые подстроки. Для ДОС сам модифицируешь. Предполагается что строка уже в памяти.

      std
      mov edi,offset begin_of_string+80
      mov edi,offset end_of_string
      mov al," "
      mov bl,0Ah
l0:     mov cx,80
      repne scasb
      or cx,cx
      jz stl
      mov    [di],bl
      add di,80
      cmp di,si
      jae    er
      jmp l0
er:  ret
stl: call print_message_string_to_long
      ret

Yesterday it worked.
Today it is not working.
Windows is like that.

Вне форума

#20 08-11-10 00:44:39

Zloy
Забанен
Здесь с 07-11-10
Сообщений: 4

Re: Байт-код vs. нативный код

ikkunan salvataja пишет:

А конвертер для Линфана ты на ассемблере писать будешь?

Боох-Питух ему напишет и тебе заодно.

ikkunan salvataja пишет:

Кстати, ты как то спрашивал как длинную строку разбить на подстроки не более 80-ти байт?

Матерь божья!!! Это же было по моему в феврале или марте!!! Йо!!! Это задача на 5 мин!!! Привествую тебя вышедший из анабиоза! big_smile

Вне форума

#21 08-11-10 00:48:26

petrun
Участник
Здесь с 22-10-09
Сообщений: 3,172

Re: Байт-код vs. нативный код

ikkunan salvataja пишет:

Да, это круто, это я даже комментировать не буду.

?


Анархия-мама сынов своих любит

Вне форума

#22 08-11-10 00:48:33

ikkunan salvataja
Участник
Здесь с 30-01-10
Сообщений: 2,803

Re: Байт-код vs. нативный код

Zloy пишет:

Это задача на 5 мин!!!

Ну так ты результат так и не выдал, во всяком случае мы его не видели, а работы там даже меньше чем на 5 минут.

Zloy пишет:

Боох-Питух ему напишет и тебе заодно.

Ну я не настаиваю на ассемблере, хоть на чёрте в ступе, но грозился, у меня всё заскриншотено.

Добавлено спустя 04 мин 36 с:

petrun пишет:

?

А чего "?"? Глупость это несусветная, программа писанная на ассемблере специалистом по любому будет быстрее сделанной компайлером, другое дело что времени на написание этой программы значительно больше уйдёт. И не надо оперировать там кучей параметров, там надо оперировать весьма ограниченным набором регистров, поскольку всё к ним и сведётся.


Yesterday it worked.
Today it is not working.
Windows is like that.

Вне форума

#23 08-11-10 00:56:14

Zloy
Забанен
Здесь с 07-11-10
Сообщений: 4

Re: Байт-код vs. нативный код

ikkunan salvataja пишет:

На тебе на ассемблере,

На тебе на VB
Private Sub Proc()
Dim RecStr As String,i As Long,F As Integer,b As Byte
F = FreeFile
Open MyFile.txt For BinaryAs #F
Open MyFile1.txt For Output As #F+1
For i = 1 To LOF(F)
Get F, i, b
RecStr = RecStr & Chr(b)
If Len(RecStr) =  80 Then
   Print #F+1,RecStr
   RecStr = Empty
End If
Next i
Close
End Sub
big_smile  big_smile  big_smile

Отредактировано Zloy (08-11-10 01:02:21)

Вне форума

#24 08-11-10 01:04:40

petrun
Участник
Здесь с 22-10-09
Сообщений: 3,172

Re: Байт-код vs. нативный код

ikkunan salvataja
Вы знаете, я плотно занимался компиляторами, и могу сказать что на глубокий межпроцедурный анализ человек не способен. А для того, что бы понять что нужно делать инлайнами он нужен. Для поиска крупнозернистой параллельности он нужен.  Посмотрите хотя-бы на gcc LTO.
Еще раз, я не говорю про кодогенератор, я говорю про глобальны еоптимизации, затрагивающие все тело программы. Можно и руками, но ДО этапа написания кода. Да и скорость разработки будет околонулевой.


Анархия-мама сынов своих любит

Вне форума

#25 08-11-10 02:37:12

MOP3E
Участник
Здесь с 05-10-09
Сообщений: 4,208

Re: Байт-код vs. нативный код

ikkunan salvataja пишет:

программа писанная на ассемблере специалистом по любому будет быстрее сделанной компайлером

Если в этой программе 100-200 строк кода, то да - быстрее. Во всех остальных случаях будет "за деревьями не видно леса".


Я не игрушечный. Я, б*я, коллекционный! (с) Duke Nukem Forever
Я не специалист по [вставить название]. Мне главное концептуально решить задачу! (с) АхаRu.
Линукс - это альтернативная ОС о которой известно, что она не является ОС ну вот просто ни разу. (с) Linups_Troolvalds.
А с какого такого перепугу пользователей линукса должно быть больше 1%? (с) petrun

Вне форума

Сейчас в этой теме пользователей: 0, гостей: 1
[Bot] ClaudeBot

Подвал форума

Под управлением FluxBB
Модифицировал Visman

[ Сгенерировано за 0.009 сек, 7 запросов выполнено - Использовано памяти: 1.76 Мбайт (Пик: 1.84 Мбайт) ]