Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
strcat - ошибка
|
|||
|---|---|---|---|
|
#18+
Если у кого-то под рукой сейчас есть Windows Server 2008 R2 проверьте на ней. Или на FreeBSD, AIX. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2012, 01:20 |
|
||
|
strcat - ошибка
|
|||
|---|---|---|---|
|
#18+
На C/C++Microsoft Visual Studio 2010 Версия 10.0.40219.1 SP1Rel Microsoft Visual C++ 2010 Выставлено: Maximize Speed (/O2) /O2 - это не все опции. Давайте сюда всю ком. строку компилятора и линкера. Я лично не верю в такую разницу между gcc и vs по скорости кода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2012, 14:11 |
|
||
|
strcat - ошибка
|
|||
|---|---|---|---|
|
#18+
На C/C++В тесте не учитывается возможность многопоточной работы и фрагментации памяти. Ясно, что у вас в куче они разложились последовательно и моментально закэшировались. Да все там учитывалось. Вы же не думаете, что если у вас в процессе страницы расположены рядом, то и физически они тоже рядом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2012, 14:22 |
|
||
|
strcat - ошибка
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskyНа C/C++В тесте не учитывается возможность многопоточной работы и фрагментации памяти. Ясно, что у вас в куче они разложились последовательно и моментально закэшировались. Да все там учитывалось. Вы же не думаете, что если у вас в процессе страницы расположены рядом, то и физически они тоже рядом. Я же привел тест в котором явно учитывалась фрагментация и там уже не 64 раза, а 173. компилятор/Zi /nologo /W3 /WX- /MP /O2 /Oi /Oy- /GL /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_UNICODE" /D "UNICODE" /Gm- /EHsc /MT /GS /Gy /fp:precise /Zc:wchar_t /Zc:forScope /Yu"StdAfx.h" /Fp"Release\StaticVSDynamicMem.pch" /Fa"Release\" /Fo"Release\" /Fd"Release\vc100.pdb" /Gd /analyze- /errorReport:queue линкер/OUT:"C:\VSProject\StaticVSDynamicMem\Release\StaticVSDynamicMem.exe" /INCREMENTAL:NO /NOLOGO "kernel32.lib" "user32.lib" "gdi32.lib" "winspool.lib" "comdlg32.lib" "advapi32.lib" "shell32.lib" "ole32.lib" "oleaut32.lib" "uuid.lib" "odbc32.lib" "odbccp32.lib" /MANIFEST /ManifestFile:"Release\StaticVSDynamicMem.exe.intermediate.manifest" /ALLOWISOLATION /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"C:\VSProject\StaticVSDynamicMem\Release\StaticVSDynamicMem.pdb" /SUBSYSTEM:CONSOLE /OPT:REF /OPT:ICF /PGD:"C:\VSProject\StaticVSDynamicMem\Release\StaticVSDynamicMem.pgd" /LTCG /TLBID:1 /DYNAMICBASE /NXCOMPAT /MACHINE:X86 /ERRORREPORT:QUEUE ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2012, 15:00 |
|
||
|
strcat - ошибка
|
|||
|---|---|---|---|
|
#18+
На C/C++Anatoly Moskovskyпропущено... Да все там учитывалось. Вы же не думаете, что если у вас в процессе страницы расположены рядом, то и физически они тоже рядом. Я же привел тест в котором явно учитывалась фрагментация и там уже не 64 раза, а 173. Ну так у меня на GCC под линуксом ваш тест дает совсем другие цифры что у вас. 2S1: 690000 2S2: 890000 2S1: 960000 2S2: 1170000 Нет даже разницы в разы, не говоря уже про десятки и сотни. компилятор/Zi /nologo /W3 /WX- /MP /O2 /Oi /Oy- /GL /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_UNICODE" /D "UNICODE" /Gm- /EHsc /MT /GS /Gy /fp:precise /Zc:wchar_t /Zc:forScope /Yu"StdAfx.h" /Fp"Release\StaticVSDynamicMem.pch" /Fa"Release\" /Fo"Release\" /Fd"Release\vc100.pdb" /Gd /analyze- /errorReport:queue линкер/OUT:"C:\VSProject\StaticVSDynamicMem\Release\StaticVSDynamicMem.exe" /INCREMENTAL:NO /NOLOGO "kernel32.lib" "user32.lib" "gdi32.lib" "winspool.lib" "comdlg32.lib" "advapi32.lib" "shell32.lib" "ole32.lib" "oleaut32.lib" "uuid.lib" "odbc32.lib" "odbccp32.lib" /MANIFEST /ManifestFile:"Release\StaticVSDynamicMem.exe.intermediate.manifest" /ALLOWISOLATION /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"C:\VSProject\StaticVSDynamicMem\Release\StaticVSDynamicMem.pdb" /SUBSYSTEM:CONSOLE /OPT:REF /OPT:ICF /PGD:"C:\VSProject\StaticVSDynamicMem\Release\StaticVSDynamicMem.pgd" /LTCG /TLBID:1 /DYNAMICBASE /NXCOMPAT /MACHINE:X86 /ERRORREPORT:QUEUE На первый взгляд все ок. Будем ждать кого-то с виндой чтобы проверить. (У меня винда только на виртуалках) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2012, 15:15 |
|
||
|
strcat - ошибка
|
|||
|---|---|---|---|
|
#18+
А, счас только обратил внимание - у вас генерируется код под 32 бита, а у меня 64. Но все равно это не объясняет такую разницу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2012, 15:17 |
|
||
|
strcat - ошибка
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. MS VS Express 2010 C++ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2012, 18:41 |
|
||
|
strcat - ошибка
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov+ Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. MS VS Express 2010 C++ А какая винда, Win7x64? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2012, 18:48 |
|
||
|
strcat - ошибка
|
|||
|---|---|---|---|
|
#18+
На C/C++А какая винда, Win7x64?Windows Server 2003 x64 R2 SP2. P.S. Насколько я понял гугла, stdafx - предкомпилированные хедеры и прочая для уменьшения времени сборки (большого) проекта. Если даже не задаваться вопросом: "Азадлянафига всё это для цатистрочного исходника-пузомерки?", то уменьшение времени сборки и оптимальная кодогенерация - не просто попиндикулярны, а прямо противоположны. "Как-то так" (ц) Винни-Пух. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2012, 18:53 |
|
||
|
strcat - ошибка
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovНа C/C++А какая винда, Win7x64?Windows Server 2003 x64 R2 SP2. P.S. Насколько я понял гугла, stdafx - предкомпилированные хедеры и прочая для уменьшения времени сборки (большого) проекта. Если даже не задаваться вопросом: "Азадлянафига всё это для цатистрочного исходника-пузомерки?", то уменьшение времени сборки и оптимальная кодогенерация - не просто попиндикулярны, а прямо противоположны. "Как-то так" (ц) Винни-Пух. Пробовал и без предкомилированных stdafx и скомпилить x64, тоже самое. Видите, Windows Server 2003 x64 R2 всего в 2-5 раз, а Win7x64 в сотни раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2012, 22:14 |
|
||
|
strcat - ошибка
|
|||
|---|---|---|---|
|
#18+
На чистом CYathaпропущено... А почему 300 тактов? Ведь за один раз сразу будем получать одну структуру, не по одному же элементу будем тянуть. То есть, выигрыш представляется в три раза. Не три структуры за один раз, а только одну. У Anatoly Moskovsky память выделяется под каждый элемент, а не под структуру. Во-первых с префетчем структуры будем получать сразу все 1000000 в обоих случаях. Во-вторых с динамическим выделением памяти под каждый элемент , в структуре хранятся только указатели , и за каждым элементом будем обращаться в кучу отдельно. Согласен, что статический массив будет быстрее динамического. Но в учебных примерах любят выделять и освобождать память, аргументируя тем, что значение может не поместиться, да и память надо экономить. Хотя с восьмибайтовыми указателями экономия, действительно, неочевидна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2012, 02:02 |
|
||
|
strcat - ошибка
|
|||
|---|---|---|---|
|
#18+
На C/C++Пробовал и без предкомилированных stdafx и скомпилить x64, тоже самое. Видите, Windows Server 2003 x64 R2 всего в 2-5 раз, а Win7x64 в сотни раз.Т.к. в VSExpress "недоклали" x64-версии компиляторов/SDK, а вынимать необходимый минимум из "большой студии" было лень - я собирал x86-версию. P.S. Попробуйте, всё-таки, собрать в комстроке именно с такими переменными среды и опциями компилятора. LargeAddressAware и SwapRun - можно опустить, /arch:SSE2 - добавить :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2012, 17:35 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=38044054&tid=2020661]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
178ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
| others: | 13ms |
| total: | 284ms |

| 0 / 0 |
