Новые информационные технологии и программное обеспечение
  RSS    

20231229 200x300 0d249f2d3676e05c1a28a375dff09c2a



Сравнение языков программирования по эффективности кода

Разработчик свободной (GPLv3) библиотеки HeavyThing, написанной на ассемблере x86_64опубликовал вполне очевидные доводы преимущества своего выбора под заголовком «Зачем писать на ассемблере?».

В отчете приводятся результаты тестирования при помощи утилит perf и strace простейшего приложения (print 'hello'), написанного на 13 различных языках программирования.

 

 

В таблице ниже видно, что сравниваются затраты на загрузку исполняемого образа и инициализацию сред выполнения для сравниваемых языков

  • Ассемблер,
  • C,
  • C++,
  • Go,
  • Rust,
  • Python,
  • Perl,
  • TCL,
  • Java,
  • PHP,
  • NodeJS,
  • Ruby,
  • Bash.

 

 

 

 

Результаты (сортировка по taskclock)

 

 

syscalls

taskclock 

instructions

Ассемблер

2

0.03

9

C - syscall

54

0.21

119844

C - stdio

57

0.23

188777

/usr/bin/echo

132

0.43

553534

Rust

120

0.52

691858

Go

175

0.74

533911

C++

90

0.82

2154769

Bash

397

1.36

2359529

Perl

403

1.47

2188568

TCL

332

2.40

7219884

Python

915

7.90

27303295

PHP

731

15.19

117336372

NodeJS

674

25.15

98880250

Ruby

1939

40.86

208385104

Java

3590

69.05

265024046

 

 

Результаты (сортировка по instructions)

 

 

syscalls

taskclock

instructions

Ассемблер

2

0.03

9

C - syscall

54

0.21

119844

C - stdio

57

0.23

188777

Go

175

0.74

533911

/usr/bin/echo

132

0.43

553534

Rust

120

0.52

691858

C++

90

0.82

2154769

Perl

403

1.47

2188568

Bash

397

1.36

2359529

TCL

332

2.40

7219884

Python

915

7.90

27303295

NodeJS

674

25.15

98880250

PHP

731

15.19

117336372

Ruby

1939

40.86

208385104

Java

3590

69.05

265024046

 

Казалось бы, эффективность древнего ассемблера налицо. Однако, если если оценить еще трудоемкость написания кода, становится ясно - сфера применения ассемблема достаточно ограничена.

Более исследования можно посмотреть тут.

 

 

Поделиться:

 

 

Оставьте свой комментарий!

Добавить комментарий


 

Самое читаемое:

Быстрый поиск

Инструкции к программам

Инструкции к программам

Сайт "Новые Информационные Технологии" содержит лишь справочные данные из открытых источников. Мы НЕ Рекламируем и НЕ Рекомендуем покупать или использовать ВСЕ упомянутые на сайте программы, оборудование и технологии