Модераторы: xvr
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сравнение скорости выполнения 
V
    Опции темы
MAKCim
Дата 16.12.2007, 21:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 84
Всего: 207



Код

#!/usr/bin/python

print "Hello, World!"

Код

# times ./test.py
0m0.052s 0m0.036s
0m11.541s 0m1.132s

Код

#include <stdio.h>

int main() {
    puts("Hello, World!");
    return 0;
}

Код

# times ./test
0m0.060s 0m0.036s
0m11.637s 0m1.160s

Код

format ELF64 executable

use64
segment executable readable
    xor    eax, eax
    inc    eax
    xor    edi, edi
    inc    edi
    mov    rsi, string
    mov    edx, SIZE
    syscall
    mov    eax, 60
    syscall
string:
    db  "Hello, World", 10
SIZE = $ - string

Код

# times ./test
0m0.072s 0m0.036s
0m11.669s 0m1.164s

 smile  smile 
я в шоке
кто может объяснить такое?
times глючит?

Это сообщение отредактировал(а) MAKCim - 16.12.2007, 21:39


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
nickless
Дата 16.12.2007, 22:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гентозавр
****


Профиль
Группа: Участник Клуба
Сообщений: 2976
Регистрация: 29.8.2005
Где: Germany

Репутация: 4
Всего: 181



times имхо вообще параметров не берёт, просто выдаёт данные для шелла
Цитата

times  Print the accumulated user and system times for the shell and for processes run from the shell.


Ты попробуй вот так
Код

(./test.py; times)
(./test; times)



--------------------
user posted image

Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies
- Linus Torvalds
PM MAIL   Вверх
JackYF
Дата 16.12.2007, 22:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 3
Всего: 162



MAKCim, а что ты хотел? На "hello world" проверить разность скорости между языками?
Второй и третий варианты вообще почти эквивалентны. А интерпретатор питона молодец.


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
Fin
Дата 16.12.2007, 22:11 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дракон->Спать();
**


Профиль
Группа: Участник
Сообщений: 687
Регистрация: 4.1.2006

Репутация: нет
Всего: 10



Просто у тебя слишком маленькие программы для сравнения. Тут вступают в силу побочные факторы. Как скоро наступит очередь thread на выполнение и тому подобное. На программах, пожираюших много времени, я думаю, ситуация изменится. В нете недавно муссировалась сенсация, что мол ламборджини обогнала истребитель. Да на малых дистанциях и на земле истребитель тежелее на разгон, но когда он войдет в свой рабочий режим. Он эту ламборджини сделает от нечего делать. Тут примерно такая же ситуация smile


--------------------
Пролетал мимо.
PM MAIL   Вверх
nickless
Дата 16.12.2007, 22:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гентозавр
****


Профиль
Группа: Участник Клуба
Сообщений: 2976
Регистрация: 29.8.2005
Где: Germany

Репутация: 4
Всего: 181



MAKCim, кстати, а почему times а не time?

Цитата(JackYF @  16.12.2007,  20:04 Найти цитируемый пост)
Второй и третий варианты вообще почти эквивалентны. А интерпретатор питона молодец. 

Это не время исполнения программ, а время, потраченое шеллом на то, что делал MAKCim до вызова times (включительно) smile

Добавлено @ 22:18
Цитата(Fin @  16.12.2007,  20:11 Найти цитируемый пост)
Просто у тебя слишком маленькие программы для сравнения

Небольшая разница есть smile 
Код

% (./bla.py; times)
Hello, World!
0m0.00s 0m0.00s
0m0.03s 0m0.00s
% (./a.out; times)
Hello, World!
0m0.00s 0m0.00s
0m0.00s 0m0.00s


Добавлено @ 22:19
Код
% time ./bla.py
Hello, World!
./bla.py  0,02s user 0,01s system 80% cpu 0,033 total
% time ./a.out
Hello, World!
./a.out  0,00s user 0,00s system 46% cpu 0,002 total


Это сообщение отредактировал(а) nickless - 16.12.2007, 22:21


--------------------
user posted image

Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies
- Linus Torvalds
PM MAIL   Вверх
MAKCim
Дата 16.12.2007, 23:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 84
Всего: 207



Цитата(JackYF @  16.12.2007,  22:04 Найти цитируемый пост)
MAKCim, а что ты хотел? На "hello world" проверить разность скорости между языками?

нет
Цитата(JackYF @  16.12.2007,  22:04 Найти цитируемый пост)
Второй и третий варианты вообще почти эквивалентны

абсолютно не эквивалентны
третий вариант - самое быстрое, что вообще можно написать для вывода строки
прямое обращение к ядру
nickless
да, кажется ты прав
я неправильно times использовал

Добавлено через 8 минут и 18 секунд
Цитата(nickless @  16.12.2007,  22:15 Найти цитируемый пост)
MAKCim, кстати, а почему times а не time?

то, что мне надо было получить, можно было получить как при помощи times, так и при помощи time, но
т. к times - built-in-функция bash-а, она не требует создания нового процесса (в отличие от time, который является внешней программой), а значит выполняется быстрее


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Программирование под Unix/Linux"
xvr
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой "Код".
  • Вопросы мобильной разработки тут
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr.

 
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема »


 




[ Время генерации скрипта: 0.0919 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.