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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> динамическое выделение памяти 
V
    Опции темы
Luyan
Дата 17.2.2010, 16:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

Репутация: 2
Всего: 7



Есть связный список с одним методом - добавление нового элемента в список. Вот его исходник:
Код

#include <ctime>
#include <iostream>

#if defined(linux)
#define CLK_TCK CLOCKS_PER_SEC
#endif

struct element
{
    int info;
    element* next;
};
class List
{
    private:
        element* head;
    public:
        List()
        {
            head = new element;
            head->next = NULL;
        }
        ~List()
        {
            element *q,*q1;
            q = head;
            q1 = q->next;
            while(q1!=NULL)
            {
                q = q1;
                q1 = q1->next;
                delete q;
            }
            delete head;
        }
       void additem(int x)
       {
            element* t = new element;
            t->info = x;
            t->next = head;
            head = t;
        }
};

int main()
{
    int n = 100000000;
    List A;
    
    clock_t start = clock();
    
    for(int i = 0; i < n; i++)
        A.additem(i);
    
    double time_in_sec = (clock() - start) / (double) CLK_TCK;
    std::cout << time_in_sec;
    std::cin.get();
    return 0;
}

Вопрос: почему выполнение этой программы в среднем в линуксе занимает 5.24, а в винде 15.562 ?  smile 
Под виндой компилю с помощью gcc и msvs 2008 результат одинаков.

PM   Вверх
andrew_121
Дата 17.2.2010, 17:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

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



Цитата(Luyan @  17.2.2010,  16:43 Найти цитируемый пост)
Вопрос: почему выполнение этой программы в среднем в линуксе занимает 5.24, а в винде 15.562 ?

в венде менеджер памяти тормознутый. давно известно.

Добавлено через 8 минут и 28 секунд
Цитата(Luyan @  17.2.2010,  16:43 Найти цитируемый пост)
Под виндой компилю с помощью gcc и msvs 2008 результат одинаков.

естественно! дело не в компиляторе, а в ОС.


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
Luyan
Дата 17.2.2010, 17:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

Репутация: 2
Всего: 7



Цитата(andrew_121 @  17.2.2010,  17:01 Найти цитируемый пост)
в венде менеджер памяти тормознутый. давно известно.

Мда, каждый день я всё больше разочаровываюсь в винде.

Добавлено через 16 секунд
andrew_121, спасибо  smile 
PM   Вверх
Леопольд
Дата 17.2.2010, 18:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Luyan @  17.2.2010,  17:56 Найти цитируемый пост)
Мда, каждый день я всё больше разочаровываюсь в винде.

Цитата(andrew_121 @  17.2.2010,  17:01 Найти цитируемый пост)
в венде менеджер памяти тормознутый. давно известно.

Чем может быть обусловленно трёхкратное торможение? Кажется мне, что многое зависит от кучи других задач, которые работают в бэкграунде. Может под Виндой у него запущено их в три раза больше...



--------------------
вопросов больше чем ответов
PM MAIL   Вверх
bilbobagginz
Дата 17.2.2010, 18:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

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



Леопольд, 
a может быть аллокатор винды аллоцирует в 3 раза больше чем его просят...



--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
andrew_121
Дата 17.2.2010, 18:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

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



Цитата(Леопольд @  17.2.2010,  18:51 Найти цитируемый пост)
Может под Виндой у него запущено их в три раза больше...

возможно. но надеюсь ТС это понимал когда тестировал.

Добавлено @ 18:57
Цитата(Леопольд @  17.2.2010,  18:51 Найти цитируемый пост)
Чем может быть обусловленно трёхкратное торможение?

да, действительно. в трое тормозливее, это сильно. на самом деле должно быть чуть меньше.

Это сообщение отредактировал(а) andrew_121 - 17.2.2010, 18:57


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
RatHat
Дата 17.2.2010, 19:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вождь индейцев
*


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

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



[оффтоп]Да чего, нормально...640 килобайт хватит всем) Даже маленькой программке в три строчки всё равно хватит 640 килобайт, но не меньше =^_^=. Ибо так сказал великий Билли smile[/оффтоп]
--------------------
Ma a kis' hi ve'ist i wan'i na e'ho ho wan'i
PM MAIL   Вверх
artsb
Дата 17.2.2010, 19:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

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



ИМХО не следует сравнивать абсолютно разные ОС. Они реализованы по разному. И не обязательно, в винде 
Цитата(andrew_121 @  17.2.2010,  17:01 Найти цитируемый пост)
менеджер памяти тормознутый

может она просто больше проверок каких-нибудь делает или ещё чего.


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
andrew_121
Дата 17.2.2010, 19:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

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



Цитата(artsb @  17.2.2010,  19:19 Найти цитируемый пост)
может она просто больше проверок каких-нибудь делает или ещё чего. 

возможно. но как результат:
Цитата(andrew_121 @  17.2.2010,  17:01 Найти цитируемый пост)
в венде менеджер памяти тормознутый


так же не понятно, зачем делать больше проверок? и так тормозит и глючит страшно.


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
artsb
Дата 17.2.2010, 19:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

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



Цитата(andrew_121 @  17.2.2010,  19:27 Найти цитируемый пост)
зачем делать больше проверок?

А вот ХЗ smile Мы же не знаем как он точно работает.


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
Luyan
Дата 17.2.2010, 23:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

Репутация: 2
Всего: 7



Цитата(Леопольд @  17.2.2010,  18:51 Найти цитируемый пост)
Кажется мне, что многое зависит от кучи других задач, которые работают в бэкграунде. Может под Виндой у него запущено их в три раза больше...

Цитата(andrew_121 @  17.2.2010,  18:56 Найти цитируемый пост)
возможно. но надеюсь ТС это понимал когда тестировал.


Да, понимал. У меня в винде 33 процесса висит, а в линукс 120, которые жрут не меньше чем в винде. Вот в этом то и вся загвоздка.  smile 

Цитата(bilbobagginz @  17.2.2010,  18:53 Найти цитируемый пост)
Леопольд, 
a может быть аллокатор винды аллоцирует в 3 раза больше чем его просят...

А где можно почитать(вообще про аллокаторы)?  smile 
PM   Вверх
azesmcar
Дата 18.2.2010, 08:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


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

Репутация: 52
Всего: 211



Цитата(Luyan @  17.2.2010,  23:30 Найти цитируемый пост)
А где можно почитать(вообще про аллокаторы)?  smile  

У Рихтера.
PM   Вверх
RatHat
Дата 18.2.2010, 12:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вождь индейцев
*


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

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



Аллоцирующий аллокатор аллоцировал-аллоцировал да не выаллоцировал.
Извините, не сдержался....

--------------------
Ma a kis' hi ve'ist i wan'i na e'ho ho wan'i
PM MAIL   Вверх
Леопольд
Дата 18.2.2010, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(RatHat @  18.2.2010,  12:18 Найти цитируемый пост)
Извините, не сдержался....


Цитата(RatHat @  18.2.2010,  12:18 Найти цитируемый пост)
Вождь индейцев

Простительно... smile

Это сообщение отредактировал(а) Леопольд - 18.2.2010, 13:46


--------------------
вопросов больше чем ответов
PM MAIL   Вверх
Luyan
Дата 18.2.2010, 18:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

Репутация: 2
Всего: 7



Цитата(azesmcar @  18.2.2010,  08:28 Найти цитируемый пост)
У Рихтера. 

какая из шести?
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


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

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


 




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


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

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