![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| chipset |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 27 Всего: 165 |
Приветствую всех тяжело инфицированных программированием на С++
Собственно продолжаю тему Я только сейчас понял что я идиот Там выходили мысли устроить соревнования между компилерами Borland'a и VC7.1 Я также предлагаю задействовать в гонке comeau, VC6 и g++. Собссна понадобится создать тестовой проект и определиться как отслеживать скорость.. Всё выкладуем сюда Это сообщение отредактировал(а) chipset - 8.2.2005, 04:15 --------------------
|
|||
|
||||
| En_t_end |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2074 Регистрация: 4.12.2004 Репутация: 1 Всего: 20 |
Зачем ?
Вот мысля Попробывать скомпилить сорсы одних китайских или японских друзей |
|||
|
||||
| S.A.P. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 9 Всего: 71 |
Можно сделать так: взять не очень большой код и скопировать его несколько раз, чтобы пообъемистей было, а то так сочинять запаримся
|
|||
|
||||
| gepard |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2477 Регистрация: 29.2.2004 Репутация: 2 Всего: 40 |
А почему бы не скомпилить исходники какой-нить игры, например, Quake2?
В оригинале на ftp'шнике id software лежат... -------------------- Когда начинаются цифровые войны, а траффик разносит моё сознание по бесконечным просторам инета, подобно ветру, разносящему листву по полям, тогда и только тогда я чувствую себя свободным! © Я, Берсерк, что значит - Неистовый. |
|||
|
||||
| DENNN |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 1 Всего: 43 |
А почему бы тогда уж не выяснить скорсоть работы исполняемого кода?
Какой смысл измерять время компиляции? |
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 17 Всего: 110 |
измерить стоило бы вообще как можно больше параметров (скорость компиляции, скорость работы, размер exe-файла, используемая память)
-------------------- qqq |
|||
|
||||
| InfMag |
|
|||
|
… ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1037 Регистрация: 21.11.2004 Репутация: нет Всего: 4 |
gepard
Исходники Quake 2 - это интересно. Не подскажешь адресок? |
|||
|
||||
| S.A.P. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 9 Всего: 71 |
|
|||
|
||||
| oleg1973 |
|
|||
![]() asm fanat ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3283 Регистрация: 16.7.2003 Где: Italy Репутация: 1 Всего: 34 |
а почему open watcom забыли?
-------------------- SST 465555 icq 200-512-712 |
|||
|
||||
| chipset |
|
||||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 27 Всего: 165 |
Ага Я вообще хотел замерять еше по скорости компиляции отдельных фич языка ;) Типа: шаблоны. указатели, СТЛ и т.д.
А им кто-то пользуеться? --------------------
|
||||||
|
|||||||
| En_t_end |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2074 Регистрация: 4.12.2004 Репутация: 1 Всего: 20 |
"VC7.1"
Сегодня обнаружил встроенную систему подсчета времени компилирования и линковки... короче билдинга. Так что для этой среды вопрос с подсчетом решен. Я же говорю давайте сорсы тех японцев скомпилим их размер в архиве 5 мег, примерно. |
|||
|
||||
| S.A.P. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 9 Всего: 71 |
Вся проблема соревнования Визуала и Билдера в том, что нужно делать программу, которая без изменений скомпилится и там и там.
Это сообщение отредактировал(а) Perchilla - 8.2.2005, 19:15 |
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 17 Всего: 110 |
что-нибудь консольное, например... -------------------- qqq |
|||
|
||||
| Fixin |
|
|||
![]() Ёжик ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1357 Регистрация: 6.1.2004 Репутация: 2 Всего: 18 |
Perchilla
Это сообщение отредактировал(а) Fixin - 8.2.2005, 22:47 |
|||
|
||||
| chipset |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 27 Всего: 165 |
STL рулит форева да и заодно протестим STLPort Добавлено @ 01:41 Итак надо определиться со списком компилеров:
Теперь насчёта проекта, я хочу включить в него следующие фичи: Пример с контейнером Пример с алгоритмом Пару длинных циклов Дефайны (много дефайнов RPC вызов (WinApi) + что то ещё Это сообщение отредактировал(а) chipset - 9.2.2005, 01:42 --------------------
|
||||
|
|||||
| gepard |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2477 Регистрация: 29.2.2004 Репутация: 2 Всего: 40 |
ftp://ftp.idsoftware.com/idstuff/source/quake2.zip Perchilla
Я тоже сомневался, когда первый раз компилил. Спокойно на VC++ .NET (2002) Помниться я даже извращался с геймплеем тогда, весело было -------------------- Когда начинаются цифровые войны, а траффик разносит моё сознание по бесконечным просторам инета, подобно ветру, разносящему листву по полям, тогда и только тогда я чувствую себя свободным! © Я, Берсерк, что значит - Неистовый. |
||||
|
|||||
| chipset |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 27 Всего: 165 |
Решил немножко взбродрить тему
Не забывайте, нам предстоит компилить не только на MSVC7.1, желательно чтобы код был компиляторо-портируемым. --------------------
|
|||
|
||||
| S.A.P. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 9 Всего: 71 |
У меня есть watcom и mingw. Что компилить будем?
|
|||
|
||||
| chipset |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 27 Всего: 165 |
Отож.. Тебе надо поиметь Borland C++ Builder, VC7.1, VC6.
Я подумал что comeau можно исключить из списка: он используется для КАРДИНАЛЬНО (не путать с Cardinal'ом Это сообщение отредактировал(а) chipset - 9.3.2005, 12:46 --------------------
|
|||
|
||||
| S.A.P. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 9 Всего: 71 |
|
|||
|
||||
| S.A.P. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 9 Всего: 71 |
Вот тут с запылившихся полок еще отрыл Borland C++ 5.5 и Symantec C++ 6.1 все под винду. Если они хотябы скомпилят что то, уже хорошо
|
|||
|
||||
| chipset |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 27 Всего: 165 |
Ура Теперь надо: 1) Тестовой проект 2) Утилита для замера скорости компиляторов. Со вторым пунктом всё довольно просто: перенаправляем аутпут консоли компилера в программу, запускаем компилер на компиляцию проекта, ждём завершения компилинга, считаем время. --------------------
|
||||
|
|||||
| Chaos A.D. |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 172 Регистрация: 16.1.2005 Где: 09 RUS Репутация: 6 Всего: 7 |
Ну а как же вы про Intel'овский забыли? Ходят слухи, что он самый быстрый. Вообще ссылки на кучу компилеров можно найти на хоумпаге Страуструпа
--------------------
Надо смеяться над тем, что тебя мучит, иначе не сохранишь равновесия, иначе мир сведет тебя с ума...Ken Kesey - One Flew Over The Cocoo's Nest |
|||
|
||||
| S.A.P. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 9 Всего: 71 |
ИТАК!. В гонке участвуют: 1. MSVC 7.1. 2. MSVC 6.0. 3. Intel C++ compiler 8.0. 4. MinGW (там много разных, возьмем те, что лучшие рузультаты покажут). 5. Open Watcom C++ 11.0. 6. Borland C++ Builder 6.0 (какой уж есть). 7. Borland C++ 5.5. 8. Symantec C++ professional 6.1. предлагаю оценивать по следующим критериям: 1. Скорость компиления. 2. Производительность. 3. Размеры бинарника. 4. Соответствие стандарту (скомпилил / не скомпилил Платформа : Win32. |
|||
|
||||
| chipset |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 27 Всего: 165 |
Можно немного задолбаться проверять все фичи стандарта ... Насчёт тестового проекта, он должен быть таким: 1)Компилиться на всех восьми компилерах. 2)Быть достаточно обьемным, для замера скорости компиляции. 3)Быть достаточным для замера производительности. Т.е. можно сообразить что-то с STL и его контейнерами, потом сделать тучу классов (copy-paste) и проверять.. ЗЫ. Может прикрепить эту тему? Это сообщение отредактировал(а) chipset - 9.3.2005, 15:21 --------------------
|
||||
|
|||||
| S.A.P. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 9 Всего: 71 |
chipset кстати, можно QT собрать, она как раз компилиться на многих компилирах, правда тут Билдер отпадает, зато проги по замеру скорости не надо. На MSVC.NET с примерами у меня где то 30 минут собирается
1. MSVC 2. MSVC.net 3. MinGW 4. Intel C++ 5. Borland C++ (wow 6. Watcom C++ |
|||
|
||||
| chipset |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 27 Всего: 165 |
Perchilla, не у нас цель была изначально: сравнить BCB++ и VC; все остальные компилеры уже второстепенно пришли.
Добавлено @ 15:46 Хотя мысль неплохая... --------------------
|
|||
|
||||
| S.A.P. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 9 Всего: 71 |
Насчет STL. Я не уверен, что на всех представленных компилерах он есть. Даже QT свой STL тащит для совместимости. Так что не переборщить бы со стандартными фичами
|
|||
|
||||
| chipset |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 27 Всего: 165 |
А как он может где-нибудь не быть? Разве что разные версии.. Кстати я родил идею: компилим STLPort (http://stlport.org). Это сообщение отредактировал(а) chipset - 9.3.2005, 15:59 --------------------
|
||||
|
|||||
| S.A.P. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 9 Всего: 71 |
Блин, пробовал через MinGW, не компилит А как производительность мерить будем? Прогу напишем, которая этот STLPort юзает? |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 19 Всего: 360 |
ИМХО и так я сно, что если на скорость мерять, то получится:
1) VC 2) builder 3) g++ Билдер изначально для дельфи был, вот и компилит с++ медленно. Зато Дельфи сорсы сделает быстрее чем VC с++ сорсы похожего обьёма. Но это уже фичи языка. |
|||
|
||||
| chipset |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 27 Всего: 165 |
Производительность на других примерах можно проверить. sergej.z, хм.. мне всёж таки хотелось бы реальных цифр Это сообщение отредактировал(а) chipset - 9.3.2005, 20:15 --------------------
|
||||
|
|||||
| S.A.P. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 9 Всего: 71 |
chipset блин, я не знаю, а BCB поддерживается STLPort ом?
http://www.stlport.com/dcforum/DCForumID7/2230.html Добавлено @ 21:33 Так и знал, что с ним геморрой выйдет. |
|||
|
||||
| pablo |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 320 Регистрация: 12.2.2005 Где: Вильнюс, Литва Репутация: 4 Всего: 6 |
Короче говоря, если вам нужен реальный пример вот он:
Попробуйте собрать Qt с разными компилерами, ну а там скорось налицо. У меня на машине (AMD Athlon XP+ 2200, 256 RAM, HDD 7200) под g++ собиралась 6 часиков, под Мicrosoft Visual C++ 6.0 около 30 - 40 минут. Я думаю разница чуствуется. -------------------- Первый блин всегда похож на сферу, иногда бывает и куб. |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
При современной производительности процессоров важна не
скорость компиляции а качество кода здесь имеет смысл сравнивать VC6/VC7/Intel остальные отдыхают замерять же тайминг надо у кусков кода заведомо важных для оптимизации... скажем, vc6 - floor() - медленный vc71 - быстрый так как использует SSE2 intel - анологично... и тп... код для тайминга: //--------------------------------------------- // CPUID use gives more accurate count INLINE void __FASTCALL __GetTimestamp(__int64 *pTimestamp) { __asm { xor eax, eax ///mov eax, 0 cpuid rdtsc mov ebx, pTimestamp mov dword ptr [ebx], eax mov dword ptr [ebx+4], edx xor eax, eax ///mov eax, 0 cpuid } } or #pragma warning(disable:4100) // CPUID use gives more accurate count void __fastcall GetTimestamp(__int64 *pTimestamp) { __asm { xor eax, eax ///mov eax, 0 cpuid rdtsc mov ebx, pTimestamp mov dword ptr [ebx], eax mov dword ptr [ebx+4], edx xor eax, eax ///mov eax, 0 cpuid } } далее что то типа //--------------------------------------------- ///NB: clicks_correct: prev return GetTimeFinalPerf() for empty f() or 0.0 /// nCountInternal: count array and oth cycle or 1 double __fastcall GetFinalPerf(double *aTics, ulong nCount, double clicks_correct, LPTSTR strmsg, ulong nCountInternal) { ulong nCountUse; double clicks; if(nCount > 1) { qsort_d(aTics, nCount); clicks = 0; ulong ibegin; ibegin = nCount/3; ///calc interval 1/3: [1/3, 2/3] register ulong i, end; end = ibegin<<1; for(i = ibegin; i < end; ++i) clicks += aTics[i]; nCountUse = (end - ibegin);//(nCount/3); clicks /= (double)nCountUse; } else { nCountUse = 1; clicks = aTics[0]; } clicks = (clicks/GetCPUtime()) * 1000.0 - clicks_correct; //////////////////////////////////////////////////////////////// if(strmsg) flog("%30.40s\t%u|%d\t%15.1f ms\t%15.1f ms/cycle", strmsg, ///?strmsg:"", nCount, nCountUse, clicks, clicks/(nCountInternal?nCountInternal:1)); return clicks; } ........ //----------------------------------------------------- ///very fast !!!!!!!!! ///libNR (SCIENTIFIC COMPUTING) void __fastcall QSORT(DTYPE_QS arr[], int n) { --arr; ///todo: remove decrement! тяжелое наследие NRC //////// #ifndef __CLIB_MT static int istack[NSTACK]; #else int istack[NSTACK]; #endif int jstack; jstack = 0; int l; l = 1; register int ir; ir = n; for(;;) { if(ir - l < M_OFF2) { register int j; for(j = l + 1; j <= ir; ++j) { register DTYPE_QS a; a = arr[j]; register int i; for(i = j - 1; i >= l; --i) { if(arr[i] <= a) break; arr[i+1] = arr[i]; } arr[i+1] = a; } if(jstack == 0) break; ir = istack[jstack--]; l = istack[jstack--]; } else { register DTYPE_QS temp; { register int k; k = (l + ir) >> 1; __SWAP(arr[k],arr[l+1]) } if(arr[l] > arr[ir]) { __SWAP(arr[l],arr[ir]) } if(arr[l+1] > arr[ir]) { __SWAP(arr[l+1],arr[ir]) } if(arr[l] > arr[l+1]) { __SWAP(arr[l],arr[l+1]) } register int j; j = ir; register DTYPE_QS a; register int i; i = l + 1; a = arr[i]; for(;;) { do i++; while (arr[i] < a); do j--; while (arr[j] > a); if (j < i) break; __SWAP(arr[i], arr[j]) } arr[l + 1] = arr[j]; arr[j] = a; jstack += 2; __ALGASSERT(jstack < NSTACK, "NSTACK too small in sort.", ;) if(ir-i+1 >= j-l) { istack[jstack] = ir; istack[jstack - 1] = i; ir = j-1; } else { istack[jstack] = j - 1; istack[jstack - 1] = l; l = i; } } } } .......... /////////////////////////////////////////////////// static double __cpu_ticks = 0.0; #define __CPU_CHECK_TO_TIME 1 //-------------------------------------- ///Time in seconds since UTC 1/1/70 double __fastcall GetCPUtime(void) { double tmp; if(0 == (tmp = __cpu_ticks)) { __int64 t, t_end; volatile time_t timer; timer = time(NULL); while(timer == time(NULL)); timer = time(NULL); __GetTimestamp(&t); while((timer + __CPU_CHECK_TO_TIME) > time(NULL)); __GetTimestamp(&t_end); tmp = (t_end - t)/(__CPU_CHECK_TO_TIME*1000000.0); __cpu_ticks = tmp; } return tmp; } -------------------------- использование например так: __int64 start = 0, stop = 0; double clicks, clicks_correct = 0; __TYPE_OUT __FASTCALL __test1_correct(void) { __TYPE_OUT res; res = 0; ///////////// start = stop = 0; int64 start_inter, stop_inter; for(int i = 0; i < COUNT_INTER; ++i) { res = 0; GetTimestamp(&start_inter); ///////////////////////// register int j; for(j = BEGIN_TEST_VAL; j < END_TEST_VAL; j++) { res = res + __f1(j*TEST_STEP_D); } ///////////////////////// GetTimestamp(&stop_inter); aTimes[i] = (double)(stop_inter - start_inter); } /////////////////////// clicks_correct = GetFinalPerf(aTimes, COUNT_INTER, 0.0, TEXT("Correct"), COUNT_TEST); return res; } //-------------------------------------------------- __TYPE_OUT __FASTCALL __test1_f1_1(void) { __TYPE_OUT res; res = 0; ///////////// start = stop = 0; int64 start_inter, stop_inter; for(int i = 0; i < COUNT_INTER; ++i) { res = 0; GetTimestamp(&start_inter); ///////////////////////// register int j; for(j = 0; j < ARRAY_SIZE; j++) { res = res + FUNC(in[j]); } ///////////////////////// GetTimestamp(&stop_inter); aTimes[i] = (double)(stop_inter - start_inter); } /////////////////////// GetFinalPerf(aTimes, COUNT_INTER, clicks_correct, FUNC_NAME, ARRAY_SIZE); return res; } ---------------------------------- main(){ res =__test1_correct_1(); res =__test1_f1_1(); } [email protected] http://www.sao.ru/hq/slkom |
|||
|
||||
| chipset |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 27 Всего: 165 |
Стряхну пыль с темы..
Нам бы что-нить, чтоп можно было BC++ и VC++ сравнить --------------------
|
|||
|
||||
| S.A.P. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 9 Всего: 71 |
Да да да да!
|
|||
|
||||
| chipset |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 27 Всего: 165 |
Qt?
--------------------
|
|||
|
||||
| Dark Elf |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 576 Регистрация: 26.12.2003 Где: Брисбен Репутация: 9 Всего: 10 |
||||
|
||||
| chipset |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 27 Всего: 165 |
Dark Elf, хм, оригинально - сравнивать VB6 и C++
Однако ж, BCB там нету.. --------------------
|
|||
|
||||
| Dark Elf |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 576 Регистрация: 26.12.2003 Где: Брисбен Репутация: 9 Всего: 10 |
Не я ж это придумал
Тогда вот тебе ещё статья (смотри итоговую таблицу в конце) Альтернативные средства разработки для Windows А также: Кто сегодня самый шустрый-2? Кто сегодня самый шустрый-3? Это сообщение отредактировал(а) Dark Elf - 28.3.2005, 11:38 |
||||
|
|||||
| Alastis |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 251 Регистрация: 15.11.2004 Где: Казахстан, Астана Репутация: 4 Всего: 10 |
Итак, для тех, кому лень просматривать эти тесты - подытожим - VC выиграл у BCB в общем случае... что большинство и так уже давно знали
-------------------- Прости, что я говорю, когда ты меня перебиваешь. |
|||
|
||||
| Nuzur |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 4.7.2004 Репутация: нет Всего: 5 |
И надо тогда чтоб у всех машины были одиковые, в плане кто будет тестить....
о ОС(только не надо кричать про то что для линуха тут никто не тестит, я и сам понимаю это, но разные винды по разному работаю, даже с разными сервис паками).... и не криво поставлено.... и количесто запущеных приложений одинаковое, в плане скорости компиляции это будет однозначно играть свою роль... И вероятность того что каждый может выигрывать в 1-м и проигрывать в другом. И что тогда сАмое вАжное. Но я не против такого теста, только за -------------------- Never again... |
|||
|
||||
| Dark Elf |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 576 Регистрация: 26.12.2003 Где: Брисбен Репутация: 9 Всего: 10 |
||||
|
||||
| chipset |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 27 Всего: 165 |
Хм. Поставил себе эклипс, и малость опупел от скорости g++
Добавлено @ 00:07 Dark Elf, супер! --------------------
|
|||
|
||||
| Гость_Serg |
|
|||
|
Unregistered |
||||
|
||||
| S.A.P. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 9 Всего: 71 |
Давно пора ставить точку в этой теме.
Вобщем попробовал я скомпилировать boost и вот че вышло. чо имеем: 1. Borland C++ Builder 6 (bcc32) 2. MinGW со всеми прибамбасами (mingw-gcc) 3. Microsoft Visual C++ 7.1 (cl) 4. Дистрибутив boost 1.32 Как тестировал: Копировал boost в отдельные папки для каждого компилятора (мало ли чего). Для чистоты эксперимента компилил jam на том же компиляторе, на чем и тестировал. Пытался так же скомпилить на Intel C++ 8.0, ничего путного не вышло (может руки кривые). Для всего этого дела создавал батник, где в конце записывал time \t, чтобы можно было запомнить время и спокойно идти курить. Компилил с опциями bjam "-sTOOLS=compiler" stage. Замерял скорость компиления и (на всяки случай) размеры получающихся DLL ок. Borland C++ Builder 6 Справился быстрее всех – 11 минут. В ходе компиления сыпались непонятные ерроры, в результате чего модуль date_time не скомпилился. Общий размер DLL ок: Debug – 920 кб (рекорд! Хотя скорее всего плохой рекорд), Release – 894 кб. Если исходить из того, что в Visual C++ модуль date_time занимает примерно 10% от общего объема, то можем грубо накинуть 10% ко времени компиления и размеру бинарников. MinGW Еще при компиляции jama дал понять, что работа будет серьезной и долгой. Результат – 20 минут. Размеры либ: Debug – 16,9 мб (!), Release 2,04 мб (! тоже). Скомпилил все путево, было несколько варнингов, но в целом зачот. Microsoft Visual C++ 7.1 Время компилиния 15 минут. Размеры либ: Debug – 1,11 мб, Release 664 кб (зачот!). Скомпилил все, бальшой зачот! Итоги: Borland C++ Builder 6 показал отличную скорость компиления и приемлимый размер, но для портирования вряд ли подойдет (сейчас прибежит Игнат и будет бросаться помидорами). MinGW Скорость компиления и размеры просто ужос. Однако сгодится для написания многоплатформенных приложений. Microsoft Visual C++ 7.1 - the best!. Все вышенаписанное ИМХО. Это сообщение отредактировал(а) Perchilla - 23.7.2005, 18:25 |
|||
|
||||
| Ignat |
|
||||
![]() Флудератор ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4030 Регистрация: 19.4.2004 Где: غيليندزيك مدينة Репутация: 3 Всего: 73 |
Гнилыми.
Вот закопипастил бы ерроры, тогда можно было бы говорить, о том, что билдер гонит. А так, нужно посмотреть. Какого хоть плана ошибки? -------------------- Теперь при чем :P |
||||
|
|||||
| Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 40 Всего: 173 |
Можно посмотреть на regression tests: http://engineering.meta-comm.com/boost-reg...me_release.html Борландовский компилятор действительно не блещет в плане advanced C++, чего уж тут... -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
| Ignat |
|
|||
![]() Флудератор ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4030 Регистрация: 19.4.2004 Где: غيليندزيك مدينة Репутация: 3 Всего: 73 |
Void, в колонке metacomm и VC7.0 не блещет.
не объективно как-то. -------------------- Теперь при чем :P |
|||
|
||||
| Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 40 Всего: 173 |
Ignat
Объективно: все компиляторы, кроме Comeau - сакс, но Intel 7.1+, VC 7.1+ и GCC 3+ тоже ничего -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |