Re[21]: Что такое Modern C++ Style?
От: night beast СССР  
Дата: 19.02.18 05:58
Оценка:
Здравствуйте, MTD, Вы писали:

NB>>У меня на машине:

NB>>

NB>>591033 us
NB>>783044 us


MTD>Спасибо, что еще раз поделился. Ты поменял местами порядок вызова — но ничего не изменилось, STL тормозит на конкретном кейсе.


это результат выполнения твоего кода без изменения.
как можно заметить, тормозит не STL.
Re[18]: Что такое Modern C++ Style?
От: alex_public  
Дата: 19.02.18 06:09
Оценка: 9 (2) :)
Здравствуйте, MTD, Вы писали:

_>>Угу, с зарезервированным перед этим размером. Причём если вылезаем за этот размер, то по задумке автора программа аварийно завершается. Это и есть в точности поведение вот такого решения:

MTD>Да, именно этот кейс и тестировался. Я хотел показать, что даже на тривиальной операции можно немного отжать производительности. Интерфейс при этом хотел сохранить.

Интерфейс вектора в этой задаче просто не нужен. Так что это всё твои странные фантазии.

_>>Вот как раз этот твой код у меня стал работать практически одинаково

MTD>Конечно нет. На маке ничего не изменилось, на вин10 произошли чудеса и разрыв между велосипедом и вектором усилился , на линуксе отставание вектора составило ~15%.

Ну а теперь смотри на реальность:
500028 us //std::vector с clear()
415023 us //std::vector с resize(0)
265015 us //твой Vector с exit(EXIT_FAILURE);
417023 us //твой Vector с slow_push_back
236013 us //для сравнения мой вариант с data=make_unique<T[]>(n);

Это данные с моей системы. И если ты используешь у себя слабые опции оптимизации или дохлые процессоры (судя по абсолютным цифрам), то это не значит что у всех так.

_>>(с одной небольшой поправкой, которую смотри в том сообщение).

MTD>Я специально не давал компилятору никаких рекомендаций относительно инлайна.

Это был речь не про инлайн, а про clear->resize.

_>>Так что никаких чудес нет.

MTD>Именно.

Угу, есть только применение ненужного кода в ненужном месте и странные выводы из этого потом.
Re[23]: Что такое Modern C++ Style?
От: MTD https://github.com/mtrempoltsev
Дата: 19.02.18 06:09
Оценка: -1
Здравствуйте, Nikе, Вы писали:

N>Вот я сейчас теста ради запустил начисто в консоли и получил:


Я тебе конечно верю — но не вижу ни платформы, ни компилятора, ни настроек компилятора.

MTD>>10 лет в IT — это вечность. Это же каким ленивым надо быть, чтобы на 10 лет не следить за тем, что происходит в языке которым ты зарабатываешь

N>Так получилось, что я довольно давно подрос и перестал интересоваться он..змом, начав заниматься более сложными и полезными вещами. Пока мне инструмента хватает — я не буду улучшать свои знания по нему, т.к. есть много другого для изучения. Тем более, что изучение вот этих вот конкретных нюансов вообще практически бесмысленно.

Это все говорит только о твоем уровне как разработчика. Успешно тебе дотянуть до пенсии, удачи!

MTD>>Пока, что болтуном показал себя ты. Насчет на порядок я написал для красоты, но 8х — вполне. С тобой могу заключить пари, тысяч на 50 рублей, например. После этого покажу код с SSE делающий код без SSE на озвученную мной величину.

N>Я на этот бред не подписываюсь.

И снова слился. Ну ок.
Re[22]: Что такое Modern C++ Style?
От: MTD https://github.com/mtrempoltsev
Дата: 19.02.18 06:10
Оценка:
Здравствуйте, night beast, Вы писали:

NB>это результат выполнения твоего кода без изменения.

NB>как можно заметить, тормозит не STL.

Ты же вызовы местами поменял.
Re[23]: Что такое Modern C++ Style?
От: night beast СССР  
Дата: 19.02.18 06:11
Оценка:
Здравствуйте, MTD, Вы писали:

NB>>это результат выполнения твоего кода без изменения.

NB>>как можно заметить, тормозит не STL.

MTD>Ты же вызовы местами поменял.


повторяю. это результат работы твоего
Автор: MTD
Дата: 18.02.18
кода у меня на машине.
что не понятно?
Re[19]: Что такое Modern C++ Style?
От: MTD https://github.com/mtrempoltsev
Дата: 19.02.18 06:11
Оценка:
Здравствуйте, so5team, Вы писали:

MTD>>А ты понимаешь, но говорить ничего не будешь, ясно-понятно


S>Дураков учить -- только портить.


Хамло снова слилось надув губки.
Re[24]: Что такое Modern C++ Style?
От: MTD https://github.com/mtrempoltsev
Дата: 19.02.18 06:16
Оценка:
Здравствуйте, night beast, Вы писали:

NB>повторяю. это результат работы твоего
Автор: MTD
Дата: 18.02.18
кода у меня на машине.

NB>что не понятно?

Судя по ассемблеру это не так. Кроме того, я протестировал на мак, линукс и вин10 результат не совпадает с твоим. Чисто логически ты можешь сказать за счет чего бы стал тормозить код? И как код в цикле делающий call может оказаться быстрей без такового?
Re[24]: Что такое Modern C++ Style?
От: Nikе Россия  
Дата: 19.02.18 06:19
Оценка:
Здравствуйте, MTD, Вы писали:

N>>Вот я сейчас теста ради запустил начисто в консоли и получил:


MTD>Я тебе конечно верю — но не вижу ни платформы, ни компилятора, ни настроек компилятора.


Win10, Intel i7-6700HQ, 16 гигов.
VS 2015:
/GS /W3 /Gy /Zc:wchar_t /Zi /Gm- /O2 /Fd"x64\Release\vc140.pdb" /Zc:inline /fp:precise /D "NDEBUG" /D "_CONSOLE" /D "_UNICODE" /D "UNICODE" /errorReport:prompt /WX- /Zc:forScope /Gd /Oi /MD /Fa"x64\Release\" /EHsc /nologo /Fo"x64\Release\" /Fp"x64\Release\TestVec.pch"

/OUT:"TestVec.exe" /MANIFEST /NXCOMPAT /PDB:"TestVec.pdb" /DYNAMICBASE "kernel32.lib" "user32.lib" "gdi32.lib" "winspool.lib" "comdlg32.lib" "advapi32.lib" "shell32.lib" "ole32.lib" "oleaut32.lib" "uuid.lib" "odbc32.lib" "odbccp32.lib" /DEBUG /MACHINE:X64 /OPT:REF /INCREMENTAL:NO /PGD:"TestVec.pgd" /SUBSYSTEM:CONSOLE /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /ManifestFile:"x64\Release\TestVec.exe.intermediate.manifest" /OPT:ICF /ERRORREPORT:PROMPT /NOLOGO /TLBID:1

N>>Так получилось, что я довольно давно подрос и перестал интересоваться он..змом, начав заниматься более сложными и полезными вещами. Пока мне инструмента хватает — я не буду улучшать свои знания по нему, т.к. есть много другого для изучения. Тем более, что изучение вот этих вот конкретных нюансов вообще практически бесмысленно.


MTD>Это все говорит только о твоем уровне как разработчика.

Судя по прайсам и популярности — отличный уровень. Как раз потому, что я дело делаю. Высокоуровневая оптимизация она не только в программах работает, но и в бизнесе.

MTD>Успешно тебе дотянуть до пенсии, удачи!


Пик развития нормального инженера — 55 лет, до

MTD>>>Пока, что болтуном показал себя ты. Насчет на порядок я написал для красоты, но 8х — вполне. С тобой могу заключить пари, тысяч на 50 рублей, например. После этого покажу код с SSE делающий код без SSE на озвученную мной величину.

N>>Я на этот бред не подписываюсь.

MTD>И снова слился. Ну ок.

Так ты ж слился. Я тут недавно, кстати, в одном облачном сервисе десятикратные приросты производительности обеспечил переведя "оптимизированный" С код на С++ и затем улучшив алгоритмическую часть.
Нужно разобрать угил.
Re[25]: Что такое Modern C++ Style?
От: night beast СССР  
Дата: 19.02.18 06:21
Оценка:
Здравствуйте, MTD, Вы писали:

NB>>повторяю. это результат работы твоего
Автор: MTD
Дата: 18.02.18
кода у меня на машине.

NB>>что не понятно?

MTD>Судя по ассемблеру это не так. Кроме того, я протестировал на мак, линукс и вин10 результат не совпадает с твоим. Чисто логически ты можешь сказать за счет чего бы стал тормозить код? И как код в цикле делающий call может оказаться быстрей без такового?


ну понятно. "у меня все работает" (с)
чисто логически, размер заинлайненой функции увеличился. как это отразилось на работе проца -- вопрос не по адресу, т.к. я не позиционировал себя как мастера каких-то там оптимизаций.
Re[18]: Что такое Modern C++ Style?
От: Nikе Россия  
Дата: 19.02.18 06:31
Оценка:
Здравствуйте, MTD, Вы писали:

MTD>Да, именно этот кейс и тестировался. Я хотел показать, что даже на тривиальной операции можно немного отжать производительности. Интерфейс при этом хотел сохранить.

Не показал.
Кроме того — нормальный подход это разрабатывать всё с использованием стандартных средств, с минимумом велосипедов, и (достигается некоторой практикой) без преждевременной пессимизации. После возникновения критических тормозов (что относительно редкое явление) — улучшается алгоритмическая часть. И так несколько раз. И только затем, в случае объективных проблем критичных для бизнеса — начинается подобное задротство.
Нужно разобрать угил.
Re[19]: Что такое Modern C++ Style?
От: MTD https://github.com/mtrempoltsev
Дата: 19.02.18 06:46
Оценка:
Здравствуйте, Nikе, Вы писали:

MTD>>Да, именно этот кейс и тестировался. Я хотел показать, что даже на тривиальной операции можно немного отжать производительности. Интерфейс при этом хотел сохранить.

N>Не показал.

Показал.

N>Кроме того — нормальный подход это разрабатывать всё с использованием стандартных средств, с минимумом велосипедов, и (достигается некоторой практикой) без преждевременной пессимизации. После возникновения критических тормозов (что относительно редкое явление) — улучшается алгоритмическая часть. И так несколько раз. И только затем, в случае объективных проблем критичных для бизнеса — начинается подобное задротство.


Кто бы мог подумать? Еще капитанство будет, типа 2+2=4? Я уже в этой ветке писал, что есть оптимизации стратегические, где выигрыш может достигать порядка и более и тактические, типа того, что я показал, там выжать можно в лучшем случае 2-3х. Очевидно опускаться на низкий уровень нужно в крайнем случае, иначе овчинка будет не стоить выделки.
Re[19]: Что такое Modern C++ Style?
От: MTD https://github.com/mtrempoltsev
Дата: 19.02.18 06:49
Оценка: -1
Здравствуйте, alex_public, Вы писали:

_>Интерфейс вектора в этой задаче просто не нужен. Так что это всё твои странные фантазии.


Почему не нужен? А может как раз нужен. Гипотетически — есть код написанный с вектором, алгоритмически все оптимизировали, надо выжать еще процентов 20. Меняем вектор на свой — профит.

MTD>>Конечно нет. На маке ничего не изменилось, на вин10 произошли чудеса и разрыв между велосипедом и вектором усилился , на линуксе отставание вектора составило ~15%.


_>Ну а теперь смотри на реальность:


Я уже посмотрел.

_>500028 us //std::vector с clear()

_>415023 us //std::vector с resize(0)

Можешь объяснить разницу? Давай без подколок, реально интересно.
Re[26]: Что такое Modern C++ Style?
От: MTD https://github.com/mtrempoltsev
Дата: 19.02.18 06:51
Оценка:
Здравствуйте, night beast, Вы писали:

NB>ну понятно. "у меня все работает" (с)


Твоя позиция понятна, а мне разобраться интересно.

NB>чисто логически, размер заинлайненой функции увеличился. как это отразилось на работе проца -- вопрос не по адресу, т.к. я не позиционировал себя как мастера каких-то там оптимизаций.


Увы, но нет.
Re[25]: Что такое Modern C++ Style?
От: MTD https://github.com/mtrempoltsev
Дата: 19.02.18 07:01
Оценка:
Здравствуйте, Nikе, Вы писали:

N>Win10, Intel i7-6700HQ, 16 гигов.

N>VS 2015:
N>/GS /W3 /Gy /Zc:wchar_t /Zi /Gm- /O2 /Fd"x64\Release\vc140.pdb" /Zc:inline /fp:precise /D "NDEBUG" /D "_CONSOLE" /D "_UNICODE" /D "UNICODE" /errorReport:prompt /WX- /Zc:forScope /Gd /Oi /MD /Fa"x64\Release\" /EHsc /nologo /Fo"x64\Release\" /Fp"x64\Release\TestVec.pch"

У тебя выключена Whole program optimization (/GL). Что любопытно, если ее выключить std::vector работает быстрее чуть ли не вдвое (к вопросу об stl в time critical ), поведение велосипеда не меняется. Впрочем отрыв велосипеда все равно есть, процентов 15.

MTD>>Это все говорит только о твоем уровне как разработчика.

N>Судя по прайсам и популярности — отличный уровень.

Пока что это только с твоих слов, а мы уже выяснили, что особо доверять твоим словам оснований нет.

MTD>>Успешно тебе дотянуть до пенсии, удачи!


N>Пик развития нормального инженера — 55 лет, до


Немного осталось, поднажми.

MTD>>И снова слился. Ну ок.

N>Так ты ж слился.

Ага, а черное — это белое.
Re[20]: Что такое Modern C++ Style?
От: Nikе Россия  
Дата: 19.02.18 07:03
Оценка:
Здравствуйте, MTD, Вы писали:

MTD>>>Да, именно этот кейс и тестировался. Я хотел показать, что даже на тривиальной операции можно немного отжать производительности. Интерфейс при этом хотел сохранить.

N>>Не показал.

MTD>Показал.

Есть такие штуки — цифры называются. Вот их мнение о результатах — важнее твоего.

MTD>Кто бы мог подумать? Еще капитанство будет, типа 2+2=4? Я уже в этой ветке писал, что есть оптимизации стратегические, где выигрыш может достигать порядка и более и тактические, типа того, что я показал, там выжать можно в лучшем случае 2-3х. Очевидно опускаться на низкий уровень нужно в крайнем случае, иначе овчинка будет не стоить выделки.

Тебе говорили, что в большинстве случаев желание перейти со стандартных средств на нестандартные, и я уже молчу про убогий С — мотивируются низкой компетенцией. Что тебе хорошо показал alex_public.
Нужно разобрать угил.
Re[26]: Что такое Modern C++ Style?
От: Nikе Россия  
Дата: 19.02.18 07:06
Оценка:
Здравствуйте, MTD, Вы писали:

N>>Win10, Intel i7-6700HQ, 16 гигов.

N>>VS 2015:
N>>/GS /W3 /Gy /Zc:wchar_t /Zi /Gm- /O2 /Fd"x64\Release\vc140.pdb" /Zc:inline /fp:precise /D "NDEBUG" /D "_CONSOLE" /D "_UNICODE" /D "UNICODE" /errorReport:prompt /WX- /Zc:forScope /Gd /Oi /MD /Fa"x64\Release\" /EHsc /nologo /Fo"x64\Release\" /Fp"x64\Release\TestVec.pch"

MTD>У тебя выключена Whole program optimization (/GL). Что любопытно, если ее выключить std::vector работает быстрее чуть ли не вдвое (к вопросу об stl в time critical ), поведение велосипеда не меняется. Впрочем отрыв велосипеда все равно есть, процентов 15.

Цифры против, я их привёл. Я уже говорил, что в подобных оптимизациях, по мимо их адской прямой и отложенной дороговизны — очень сильно влияние оползней на Луне.

MTD>Ага, а черное — это белое.

Ты ляпнул провокационное заявление, противоречащее архитектуре проца и всем основным бенчмаркам, тестам и практике. Никак его не обосновал -> гонишь.
Нужно разобрать угил.
Re[26]: Что такое Modern C++ Style?
От: Nikе Россия  
Дата: 19.02.18 07:08
Оценка:
Здравствуйте, MTD, Вы писали:

MTD>Пока что это только с твоих слов, а мы уже выяснили, что особо доверять твоим словам оснований нет.


Но таки это ты просился ко мне на работу, а не я к тебе.
Нужно разобрать угил.
Re[27]: Что такое Modern C++ Style?
От: MTD https://github.com/mtrempoltsev
Дата: 19.02.18 07:43
Оценка:
Здравствуйте, Nikе, Вы писали:

N>Но таки это ты просился ко мне на работу, а не я к тебе.


Я к тебе не просился, просто сказал, что за озвученную сумму готов общаться. Но предмета для разговора очевидно нет, так как ни озвученных сум у тебя нет, да и сам ты подобных вопросов обсуждать не можешь.
Re[27]: Что такое Modern C++ Style?
От: MTD https://github.com/mtrempoltsev
Дата: 19.02.18 07:46
Оценка: -1
Здравствуйте, Nikе, Вы писали:

MTD>>У тебя выключена Whole program optimization (/GL). Что любопытно, если ее выключить std::vector работает быстрее чуть ли не вдвое (к вопросу об stl в time critical ), поведение велосипеда не меняется. Впрочем отрыв велосипеда все равно есть, процентов 15.

N>Цифры против, я их привёл.

Это неправда. Я проверил на той же оси, компиляторе и настройках, только процессор i5, а не i7.

N>Я уже говорил, что в подобных оптимизациях, по мимо их адской прямой и отложенной дороговизны — очень сильно влияние оползней на Луне.


Это потому, что ты процессов не понимаешь, поэтому для тебя это магия.

N>Ты ляпнул провокационное заявление, противоречащее архитектуре проца и всем основным бенчмаркам, тестам и практике. Никак его не обосновал -> гонишь.


Я тебе предложил подтвердить свои слова, а заодно подучить тебя, но разумеется не бесплатно — ты моментально слился.
Re[21]: Что такое Modern C++ Style?
От: MTD https://github.com/mtrempoltsev
Дата: 19.02.18 07:48
Оценка:
Здравствуйте, Nikе, Вы писали:

N>я уже молчу про убогий С


Ты говори, говори — веселишь изрядно.

N>низкой компетенцией


Даже моя низкая квалификация как оказалось в разы выше твоей.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.