|
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
|
||||||||||||||||||||||
Замеры скорости работы malloc'а на Windows и Linux10.01.2011, 15:41. Показов 8630. Ответов 74
Метки нет (Все метки)
quote=DenQ;1273702]Хорошо, а что тогда high?[/quote]
real-time системы. В теории, скорость выделения памяти и там и там должна быть одинаковой, это не жесткий диск и алгоритмы в обеих ОС достаточно схожие. Нет никакой разницы на каких блоках памяти тестировать. Скорость выделения памяти должна иметь зависимость от выделяемого объема и не отличаться в скорости выделения на байт информации при выделении больших или меньших объемов (с оговоркой на границы страниц памяти). В теории, разница должна быть исключительно в накладных расходах на системный вызов и составлять в лучшем случае тысячные доли секунды, а не 10%, как у меня. Поэтому мои результаты сомнительны. С VC вы, возможно, правы. В общем случае он создает более эффективный код, чем gcc. У них ведь есть fastcall. В любом случае, тест надо переделывать. Новый тест будет на С. Будет выделять блоки от нуля до двух гигабайт с шагом в 64 мегабайта. Как бы винда не загнулась на таком выделении.
Добавлено через 14 минут Загрузился в винду. XP 5.1.2600, все обновления на сегодняшний день. Снял все возможные процессы, остановил все возможные сервисы, выключил антивирус. Очень странные результаты. GCC 4.4:
Добавлено через 7 минут VS 2010, 10.0.30319.1 RTMREL. Таки значительно лучше.
0
|
||||||||||||||||||||||
| 10.01.2011, 15:41 | |
|
Ответы с готовыми решениями:
74
Уменьшение скорости работы HDD и Windows Windows XP после 10 секунд работы перезагружается, Windows 7 и Linux на этой же материнке и HDD работают идеально? WInSCP для работы с Linux Server |
|
|
|||||||||||
| 10.01.2011, 15:44 | |||||||||||
Ещё один момент память нужно не только выделать, но и обращаться к ней. В linux'е, насколько я знаю, при выделении новой страницы памяти она оказывается невалидной (т.е. в TLB она есть, но в физпамять ещё не попала). В винде это может быть по другому (т.е. страница может сразу попадать в память). Если ты сделаешь обращение в память, то гарантированно поставишь исполнение на разных осях в одинаковые условия Добавлено через 2 минуты Вот ещё. Все времена сначала складывай в массив, а в конце массив уже распечатывай. Чтобы время работы printf'а не влияло на результат. Ещё напечатй разницу между итерациями i и i-1, чтобы видеть, тормоза идут равномерно или нет
0
|
|||||||||||
|
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
|
||||||||||||||
| 10.01.2011, 15:56 [ТС] | ||||||||||||||
|
Думаю, достаточно будет записать первый и последний байт выделенной памяти.
Windows, GCC.
Ща загружусь в линукс.
0
|
||||||||||||||
|
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
|
||||||
| 10.01.2011, 16:06 [ТС] | ||||||
|
Оно уже медленней работает.
Линукс, ГЦЦ.
пиши софтину, которая тебя устроит.
0
|
||||||
|
|
||
| 10.01.2011, 16:15 | ||
|
Ой... у тя пишет время на каждую итерацию отдельно. А я что-то подумал, что это суммарное время (это к тому, когда я просил писать разницу между i и i-1)
Добавлено через 6 минут
0
|
||
|
1 / 1 / 0
Регистрация: 08.12.2010
Сообщений: 99
|
|
| 10.01.2011, 16:17 | |
|
Предлагаю на асме сделать тоже самое, раз уж вас компиляторы смущают.
P.S. я только предлагаю
0
|
|
|
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
|
||
| 10.01.2011, 16:20 [ТС] | ||
|
Vermis, код в студию. )))
Добавлено через 1 минуту Жду код. )
0
|
||
|
|
|||||||||||||||||
| 10.01.2011, 16:27 | |||||||||||||||||
|
Добавлено через 1 минуту Если модераторы тут, то с поста #3035 хорошо бы выделить в отдельную тему "Замеры скорости работы malloc'а на Windows и Linux" Добавлено через 3 минуты
В любом случае сравнивать на винде и линухе надо на одной и той же машине Добавлено через 54 секунды память (выдача по top) у меня такая:
0
|
|||||||||||||||||
|
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
|
||||||||||||
| 10.01.2011, 16:42 [ТС] | ||||||||||||
|
Обзавидовался вашей машине, трусливо уменьшил максимальный выделенный кусок до 512Мб. Linux:
Добавлено через 1 минуту Top-память.
0
|
||||||||||||
| 10.01.2011, 16:51 | |
|
0
|
|
|
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
|
||||||
| 10.01.2011, 17:33 [ТС] | ||||||
|
Неожиданнейший результат. На винде работает... барабанная дробь... быстрее.
Однако, нестабильно, дает все время разные результаты, иногда на 512Мб непонятно с какой причины лезет в своп, и какая-то беда со счетчиком.
После запуска теста на винде пришлось ребутнуть машину. Работать дальше стало невозможно. Либо код протекает, либо что-то менеджер памяти крутое там делает.
0
|
||||||
|
|
||||||
| 10.01.2011, 17:35 | ||||||
![]() Добавлено через 1 минуту Добавлено через 27 секунд
0
|
||||||
|
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
|
||||||
| 10.01.2011, 17:52 [ТС] | ||||||
А я даже копать не стал, ребутаться уже надоедает. ))) Диск шуршит тоже индикатор. ))) По менеджеру процессов видно, как размер свопа дрыгается, а вот обращение к свопу проще по "диск шуршит" определять. )Да и пусть его, только он иногда в своп лезет, когда памяти еще есть. Вот это уже странней. Очень похоже, что менеджер памяти винды увеличивает производительность работы со страничной памятью, методом болтоукладки на фрагментацию этой самой памяти. Либо он оставляет "освобожденную" память некоторое время закрепленной за приложением. Литературку бы какую по менеджеру памяти виндоуз, чтобы не гадать на кофейной гуще.
0
|
||||||
|
|
||
| 10.01.2011, 23:26 | ||
|
Добавлено через 3 часа 34 минуты (to модераторы) Просьба перенести тему в раздел "Теория и технологии программирования " Тема не является холиваром. В теме показаны два способа сравнения одного и того же показателя. "Правильный" и "неправильный" подходы к измерению показали два совершенно разных результата. Думаю, это может оказаться полезным, особенно новичкам. Справедливости ради надо сказать, что оба подхода не претендуют на полноту, потому как являются искусственными примерами, а не реальными задачами. А потому, как и любой бенчмарк, данный результат попадает под категорию "статистика", а потому его не следует понимать, как истину в последней инстанции.
0
|
||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
| 10.01.2011, 23:49 | ||||||
|
Evg, Дождался до 700+ мб и прекратил выполнение MSVS 2008. Минут 5 комп нервно подтормаживал, затем пришел в норму.
+ В первый запуск (часа два назад) все было закономерно кроме 512. На 512 показывал время которое совершенно выбивалось из графика. Что-то вроде секунд 30
0
|
||||||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|||||||||||
| 10.01.2011, 23:59 | |||||||||||
|
Evg, М... Извиняюсь, но вот в этом я точно новичек) Как посмотреть?)
Если в диспетчере задач - то вот:
0
|
|||||||||||
|
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
|
|||||
| 11.01.2011, 00:30 [ТС] | |||||
Кстати о птичках. Программа не учитывает, что размер страницы памяти может отличаться от 4Кб в зависимости от системы. Надо бы это пофиксить. Покамест мы имеем, что системный вызов в линуксе выполняется быстрее, но сама работа со страничной памятью в виндоуз выполняется эффективней. Правда, в виндоуз имеем некоторые галлюцинации по завершению программы.
0
|
|||||
|
|
|||||
| 11.01.2011, 09:41 | |||||
|
Предел - 2519748 Видимо, сие означает, что физической памяти гиг, а предельно допустимое использование - 2.5 гига (т.е. 1.5 гига на файл подкачки). Но, думаю, это ограничение для одной задачи, а не не всю систему. Под виндой я всего лишь домохозяйка, так что даже не знаю, как смотреть Добавлено через 1 минуту Но у тебя есть параметр "Доступно - 793056". И как раз в районе этой цифры образовался скачок. Видимо с этого момента вся доступная физ память загадилась и полезли на диск
0
|
|||||
| 11.01.2011, 09:41 | |
|
Помогаю со студенческими работами здесь
20
Установка Qt на Linux для кросс-компиляции: Linux 32/64 Windows 32/64 Сравнение скорости работы Qt и C++ Увеличение скорости работы бд Изменение скорости работы COM порта
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|
Фото: Daniel Greenwood
kumehtar 13.11.2025
|