Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
VS2012: Как посмотреть реализацию функции sin(x)?
|
|||
|---|---|---|---|
|
#18+
Вводится ли новая функция или заменяется старая? Естественно, заменяется реализация старой. Как это отражается на производительности? Либо никак, либо ухудшается. На самом деле наверное иногда может и увеличиваться, за счет большей локальности обращения к памяти. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2012, 15:48 |
|
||
|
VS2012: Как посмотреть реализацию функции sin(x)?
|
|||
|---|---|---|---|
|
#18+
Непонятно. Ты даёшь ссылку на ветку где тебя нет в качестве участника. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2012, 16:13 |
|
||
|
VS2012: Как посмотреть реализацию функции sin(x)?
|
|||
|---|---|---|---|
|
#18+
GermanV Ну, например, здесь: /topic/945804&pg=2&hl=stl Вообще-то конкретно в этой теме было разобрано, что задержка в векторе возникает из-за двух факторов: 1) Медленная реализация дебаг режима в VS. 2) в момент выделения памяти для вектора она всегда инициализируется. Т.е. если отделить выделение памяти от алгоритма и запускать все в релиз сборке, никаких тормозов нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2012, 16:24 |
|
||
|
VS2012: Как посмотреть реализацию функции sin(x)?
|
|||
|---|---|---|---|
|
#18+
maytonНепонятно. Ты даёшь ссылку на ветку где тебя нет в качестве участника. Так может это Poslushnik. Ну по крайней мере религия у них одна и та же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2012, 16:26 |
|
||
|
VS2012: Как посмотреть реализацию функции sin(x)?
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskymaytonНепонятно. Ты даёшь ссылку на ветку где тебя нет в качестве участника. Так может это Poslushnik. Ну по крайней мере религия у них одна и та же. Ну конечно-же мы тут все - психоаналитики... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2012, 16:28 |
|
||
|
VS2012: Как посмотреть реализацию функции sin(x)?
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskyТ.е. если отделить выделение памяти от алгоритма и запускать все в релиз сборке, никаких тормозов нет. А вот пример когда STL даже круче по скорости С-шного стиля. http://www.sql.ru/forum/actualthread.aspx?tid=791634 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2012, 16:28 |
|
||
|
VS2012: Как посмотреть реализацию функции sin(x)?
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskyА вот пример когда STL даже круче по скорости С-шного стиля. http://www.sql.ru/forum/actualthread.aspx?tid=791634 А, не, это не то - там задержка в С из-за float. Ну ничего, зато std::sort точно быстрее С-шного qsort :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2012, 16:36 |
|
||
|
VS2012: Как посмотреть реализацию функции sin(x)?
|
|||
|---|---|---|---|
|
#18+
Anatoly Moskovsky, std::generate_n тоже быстрее С-стиля, если сишник будет заполнять через цикл с индексом :). Например Код: plaintext 1. будет медленнее (у меня в 2 раза, i7, vs2012, x64) Код: plaintext 1. 2. из-за использования инкрементирования указателя что более предсказуемо, а если сишник тоже применит ++ указателей, то по крайней мере будет ничья :). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2012, 16:56 |
|
||
|
VS2012: Как посмотреть реализацию функции sin(x)?
|
|||
|---|---|---|---|
|
#18+
sherzod_, Я боюсь только что это все не аргумент для человека, который впервые видит С/С++ (судя по этой теме ), но уже уверен что STL тормозит :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2012, 17:39 |
|
||
|
VS2012: Как посмотреть реализацию функции sin(x)?
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskyВообще-то конкретно в этой теме было разобрано, что задержка в векторе возникает из-за двух факторов: 1) Медленная реализация дебаг режима в VS. 2) в момент выделения памяти для вектора она всегда инициализируется. Т.е. если отделить выделение памяти от алгоритма и запускать все в релиз сборке, никаких тормозов нет. Не понимаю, зачем врать? Там и для релиз приведены данные замеров: падение в 2,5 раза. А что бывает заполнение памяти без ее выделения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2012, 18:39 |
|
||
|
VS2012: Как посмотреть реализацию функции sin(x)?
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskyА, не, это не то - там задержка в С из-за float. Ну ничего, зато std::sort точно быстрее С-шного qsort :) qsort быстрее. Сам ставил эксперименты на реальных данных, и любой может тоже их проделать. Зачем врать? Во имя религии STL? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2012, 18:41 |
|
||
|
VS2012: Как посмотреть реализацию функции sin(x)?
|
|||
|---|---|---|---|
|
#18+
GermanV, Никто не говорил что безопасность контейнеров STL дается бесплатно. Цена - придется слегка подумать как сделать скорость не хуже. Я выше написал из чего состоит замедление и как его избежать. В том коде где разница 2.5, не выполнена одна из рекомендаций - отделить выделение памяти от алгоритма который ее использует. Да и методика подсчета не очень точная, там время работы алгоритма достаточно мало, что может давать погрешности измерения. Заполнение памяти без выделения не бывает. Но никто этого и не требует. Про qsort, когда у меня будет время - померяемся :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2012, 19:17 |
|
||
|
VS2012: Как посмотреть реализацию функции sin(x)?
|
|||
|---|---|---|---|
|
#18+
GermanVAnatoly MoskovskyА, не, это не то - там задержка в С из-за float. Ну ничего, зато std::sort точно быстрее С-шного qsort :) qsort быстрее. Сам ставил эксперименты на реальных данных, и любой может тоже их проделать. Зачем врать? Во имя религии STL? Давайте вместе тестить. Я тоже слышал такую тему что std::sort быстрее но очевидно что есть нюансы в самом тесте. Как вы его реализовали? Какой тип данных в шаблоне? Каков объём выборки? Какие начальные условия? Большинство gap-ов в таймингах образуются оттого что новички не учитывают время бутстрапа самой процедуры, статических конструкторов в main() и прочих инициализаций. Компилляторы, ключи компилляции тоже важны наверное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2012, 19:21 |
|
||
|
VS2012: Как посмотреть реализацию функции sin(x)?
|
|||
|---|---|---|---|
|
#18+
Anatoly Moskovsky Но например в VS2008 уже нет однопоточной стандартной библиотеки С/С++. Есть, но только статическая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2012, 20:07 |
|
||
|
VS2012: Как посмотреть реализацию функции sin(x)?
|
|||
|---|---|---|---|
|
#18+
maytonGermanVпропущено... qsort быстрее. Сам ставил эксперименты на реальных данных, и любой может тоже их проделать. Зачем врать? Во имя религии STL? Давайте вместе тестить. Я тоже слышал такую тему что std::sort быстрее но очевидно что есть нюансы в самом тесте. Как вы его реализовали? Какой тип данных в шаблоне? Каков объём выборки? Какие начальные условия? Большинство gap-ов в таймингах образуются оттого что новички не учитывают время бутстрапа самой процедуры, статических конструкторов в main() и прочих инициализаций. Компилляторы, ключи компилляции тоже важны наверное. Ну дак а что там тестить :). Очевидно же что встроенное сравнение занимающее одну инструкцию (для простых типов), выполнится быстрее целого вызова функции которой в qsort ну никак не избежать (ибо уже скомпилен), при прочих равных условиях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2012, 20:22 |
|
||
|
VS2012: Как посмотреть реализацию функции sin(x)?
|
|||
|---|---|---|---|
|
#18+
Почему собственно вопрос возник: тут вот ( http://msdn.microsoft.com/en-us/library/ms682516%28v=vs.85%29.aspx) сразу после кода есть такие строки: "The MyThreadFunction function avoids the use of the C run-time library (CRT), as many of its functions are not thread-safe, particularly if you are not using the multithreaded CRT. If you would like to use the CRT in a ThreadProc function, use the _beginthreadex function instead." Вот я и заволновался почему же это функции CRT "are not thread-safe", особенно те, что "are not using the multithreaded CRT". Может кто-нить пояснит, что они имеют ввиду? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2012, 21:23 |
|
||
|
VS2012: Как посмотреть реализацию функции sin(x)?
|
|||
|---|---|---|---|
|
#18+
GermanVМожет кто-нить пояснит, что они имеют ввиду? Чтобы понять что они имеют ввиду, тебе надо изучить что такое потоки, как они работают и какие создают опасности. Читай Рихтера. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2012, 21:31 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=38094022&tid=2020560]: |
0ms |
get settings: |
12ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
76ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 278ms |
| total: | 452ms |

| 0 / 0 |
