On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение
Администратор




Пост N: 2208
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 23.12.11 13:43. Заголовок: Интерпретаторы


Возьмем 3 продукта: 1с 8, visual foxpro и harbour.
Назначение у них различное, коня и трепетную лань сравнивать не стоит, но есть и кое-что общее: все они имеют интерпретатор, построенный на похожем принципе: сначала делается предкомпиляция в некий промежуточный код, а затем этот код выполняется.
Поэтому возникла мысль сравнить производительность этих интерпретаторов, посмотреть, так сказать, чей движок мощнее.

Берем простенький тест:

func main
Local i, nLoops := 5000000
Local L_F := 112345.67
Local L_N := 10000
Local L_C := "0123456789ABCDEF"
Local nn, nf, cc
Local nn1 := 0
Local nf1 := 0.1
Local cc1 := ""
Local nn2, nf2

Local nSec := Seconds()

for i := 1 to nLoops
nn := L_N
nf := L_F
cc := L_C
nn := L_N + 1
nf := L_F + 1.0
cc := L_C + L_C
nn1 += L_N + 1
nf1 += L_F + 1.0
if (nn1 % 2) == 0
// cc1 += L_C + chr(nn1 % 256)
endif
if (len(cc1) % 3) == 0
nn2 := nn1 % 13
nf2 := nf1 % 13
endif
nn := (nn1 + L_N + 1)*100/15
nf := (nf1 + L_F + 1.0)*100.00/15.00
next
? Seconds() - nSec
? nn, nf, cc
? nn1, nf1, len(cc1)
? nn2, nf2
retu nil

И запускаем его, с учетом различия в синтаксисе языков, конечно.
Компьютер: Celeron 2.5 GHZ, 1GB RAM

Закомментаренный оператор - это конкатенация строк. Сразу скажу, что с конкатенацией не справился никто, кроме, естественно, харбора.
Да и на его результате конкатенация сказалась незначительно:
Время с конкатенацией 18.59 сек
Время без конкатенации 16.86 сек

foexpro показал вполне приличный результат - 48.08 сек, что всего лишь в три раза хуже харбора.

Ну а что же хваленые канадские профессионалы 1с ? Ждать пришлось долго, 330 сек, что в 20(!) раз хуже харбора.
Здесь даже не подходит аналогия сравнения двигателя Запорожца с двигателем Ламборджини, надо сравнивать с двигателем реактивного истребителя.
Как говорится, за много-много лет ничто не мешало 1с обзавестись приличным движком, да вот как-то не сложилось.
Ну а движок харбора порадовал, хорош.
Можно было протестировать продукты и на других режимах, скажем, добавить тест ООП, но, думается, смысла в этом нет, класс уже понятен и без этого.


Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 33 , стр: 1 2 All [только новые]


Ответов - 33 , стр: 1 2 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 18
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет