![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 2 Всего: 62 |
И мне JAVи_сты говорят, что у них читает файл за 0.9 секунд.. А ну гляньте-либо они лапшу вешают, либо я ошибку допустил... Добавлено @ 16:30 Программа готова к употреблению, разкомментируйте строки для заполнения массивва и добавте запись, для проверки.. Это если кто потестить хочет -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
|||
|
||||
| Mayk |
|
|||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 45 Всего: 134 |
ты уверен в правильности кода? может хватило бы fread(pa,sizeof(long),size,stream);? -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
|||
|
||||
| Void |
|
||||||||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 40 Всего: 173 |
Вообще говоря, new при неудаче должен выбрасывать std::bad_alloc, а не возвращать NULL. То, что VC 6 поступает иначе, это ее проблемы.
А зачем size раз читать весь массив, да еще выходя при этом за пределы выделенной памяти?
достаточно.
У них, наверное, быстрые винты Добавлено @ 17:03 Mayk Опередил... -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
||||||||
|
|||||||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 17 Всего: 110 |
хм... 40000000*4=160М... 0.9с... получается 176Мбайт/с несколько сомнительно... особенно если учесть, что простое копирование заняло несколько десятков секунд... может, стоит на Java написать программку для копирования файлов... вряд ли она будет работать дольше 1.8с... -------------------- qqq |
|||
|
||||
| En_t_end |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2074 Регистрация: 4.12.2004 Репутация: 1 Всего: 20 |
Void
Не совсем... по стандарту:
в данном случае нужно делать так... sometype *somepointer = new(nothrow) sometype; |
||||
|
|||||
| Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 40 Всего: 173 |
En_t_end
Я имел в виду поведение new по умолчанию. -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
| En_t_end |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2074 Регистрация: 4.12.2004 Репутация: 1 Всего: 20 |
Void
Это то понятно |
|||
|
||||
| Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 2 Всего: 62 |
Да пофиг исключения!
Я за чтение говорил Void
Да вроде пробовал, не получилось без цикла Я на скорую руку писал, переключаясь из проекта в проект на работе, может за проверкой и допустил ошибку...которую не заметил и посчитал неправильность работы С исправлением читает секунд 5.. Неужели Жаба делает? Кстати гляньте тесты, они с нами нога в ногу, мерзавцы... Что б еще придумать? Это сообщение отредактировал(а) Coocky - 4.10.2005, 22:00 -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
|||
|
||||
| LSD |
|
||||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: нет Всего: 538 |
Ошибочка за 0.5 На самом деле там так: первый запуск (после перезагрузки) 25.2, а дальше 0.5. В первом случае явно все упирается в диск, а во втором память (270 Мбайт/сек, пределу для DDR333).
Попрошу без оскарблений -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
||||
|
|||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 17 Всего: 110 |
а почему бы и нет? просто на таких простых задачах, как переписывание туда-сюда целых чисел абсолютно не проявляются различия двух языков (или платформ - тут уж кому как нравится) в этом смысле они, можно сказать, одинаковы ну разве что Java таскает кусок компилятора с собой (ну не совсем с собой)... а так - тоже самое + конечно же оптимизация под конкретную систему... впрочем, об этом уже говорили в соответствующей теме... реальное различие между этими двумя технологиями - сборка мусора (это я говорю с высоты своего незнания Java P.S. а то что тот же самый файл можно прочитать во второй раз быстрее... не уверен, что это - преимущество, память тратится, а то, что подряд будет несколько раз сортироваться один и тот же файл - вряд ли (это я говорю касательно этого случая) -------------------- qqq |
|||
|
||||
| LSD |
|
||||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: нет Всего: 538 |
Платформа тут вообще не причем, так как копирование осуществляется native кодом (вообще там используются memory-mapped file). И вообще время загрузки я привел просто для сравнения, первоначальный вариант программы 5 минут грузил ядро на 100% и так и не смог загрузить данные Если у Си такие проблемы по работе с файлами, мы можем сами загрузить данные и передать их в вашу функцию в качестве аргумента ;)
В той теме ранее был тест где это можно было бы проверить, но никто из сишников не взялся перевести его на С++. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
||||
|
|||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 17 Всего: 110 |
упс... я тут уже говорил про сортировку ошибся маленько... -------------------- qqq |
|||
|
||||
| cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 2 Всего: 99 |
Название темы должно отражать ее суть!
-------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
| ssp |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 14.9.2005 Репутация: нет Всего: нет |
Хм. У меня получились несколько другие соотношения. Я сравнивал время сортировки с size уменьшенным на порядок, т.к. иначе получалось слишком долго (сравнивал на домашнем компьютере).
На openwatcom без оптимизации у меня получилось 2.9сек, с оптимизацией 2.45. В то время как на java 2.5сек. Вообще то все равно обидное соотношение Т.е. у меня получилось, что java в два раза медленнее на данной задачи. Но меня волнует другой вопрос, почему такая разница в скорости кода между openwatcom и gcc? |
|||
|
||||
| srd |
|
|||
![]() Нереварин ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 951 Регистрация: 30.8.2003 Где: Владивосток Репутация: 27 Всего: 49 |
Потому что Watcom - очень старый компилятор и практически не развивается с середины 90-х годов. За это время другие компиляторы сильно продвинулись вперёд. Насколько я знаю, команда OpenWatcom ещё глобальных изменений в старенький Watcom не вносила. -------------------- Не смей читать мою подпись!!! |
|||
|
||||
| S.A.P. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 9 Всего: 71 |
Предлагаю устроить очередной варварский набег на империю жавистов !
На этот раз придумать что - нибудь посложнее сортировки. Что - нибудь со стандарной библиотекой, к примеру, заодно проверим, чья реализация качественнее. Можно еще скорость отрисовки GUI проверить ( Win API уж брать не будем |
|||
|
||||
| Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 40 Всего: 173 |
Тут есть одна проблема -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 19 Всего: 360 |
WxWidgets sucks
А вы сравните QT с SWT |
|||
|
||||
| S.A.P. |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 9 Всего: 71 |
Добавлено @ 22:29 А заодно Ultimate++ подключим, как кандидата в призеры на самый лаконичный код |
||||
|
|||||
| Mayk |
|
|||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 45 Всего: 134 |
А давайте Input/Output потестим, а
-------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
|||
|
||||
| srd |
|
|||
![]() Нереварин ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 951 Регистрация: 30.8.2003 Где: Владивосток Репутация: 27 Всего: 49 |
Э-э, а тестить GUI - это как? Будем в цикле for(i = 0; i < 2147483648; ++i) создавать кнопки, у кого кнопки раньше кончатся, тот и проиграл?
-------------------- Не смей читать мою подпись!!! |
|||
|
||||
| pablo |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 320 Регистрация: 12.2.2005 Где: Вильнюс, Литва Репутация: 4 Всего: 6 |
да и тесты то собственно на что будут ориентированны ?
На время выполнения задачи, на занимаемую память или ещё на что нить ?
Хорошо подмечено -------------------- Первый блин всегда похож на сферу, иногда бывает и куб. |
|||
|
||||
| srd |
|
|||
![]() Нереварин ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 951 Регистрация: 30.8.2003 Где: Владивосток Репутация: 27 Всего: 49 |
Допустим, мы напишем программу, создающую окно с кучей элементов управления и запустим. Потом, например, потянем угол получившегося окна мышкой, и обнаружим, что процесс перерисовки контролов явно различим на глаз. Понятно, что ГУЙ тормозит, но как это оценить количественно? Что-то придумать ничего тут не могу...
-------------------- Не смей читать мою подпись!!! |
|||
|
||||
| sergejzr |
|
||||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 19 Всего: 360 |
Тесты в наше время имеют смысл только на скорость. Машинка должна иметь достаточно памяти и не свопить, иначе будем мерять скорость ЖД. Ну как бы и всё
Ловим события, засекаем время... |
||||
|
|||||
| Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 2 Всего: 62 |
Закрою я наверное тему..
Проблема решена, Java уступает. Не уступает , а идет вногу java server( или типа этого)... Давай на коня пару сообщений и все.. -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 19 Всего: 360 |
Можно закрывать, но надо тему с тестами создать. Всё таки весьма любопытно
|
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |