![]() |
|
Модераторы: 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 не вносила. -------------------- Не смей читать мою подпись!!! |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |