1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
| TarasBer |
31.05.2011 11:40
Сообщение
#1
|
![]() Злостный любитель ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: 62 |
Мне очень не нравится скорость побайтового чтения - 3МБ файл читается больше секунды, когда дельфовый аналог на BlockRead считывает его моментально.
Всё, что приходит в голову - открыть файл для типа byte, узнать размер, потом открыть файл для массива данного размера и считать за раз.
Но это выдаёт raised STORAGE_ERROR : EXCEPTION_STACK_OVERFLOW (даже после того, как я вместо заведения массива на стеке завёл указатель) Да и мало ли размер файла изменится между первым и вторым открытиями. И вообще много дёргать винт это плохо. Последний вариант - через ВинАПИ, но мне неохота туда лезть. ПС Настраиваемые пакеты во внутреннем блоке - это сильно. Реально круто, я про язык. Сообщение отредактировано: TarasBer - 31.05.2011 12:16 -------------------- |
![]() ![]() |
| TarasBer |
2.06.2011 13:59
Сообщение
#2
|
![]() Злостный любитель ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: 62 |
А почему именно от 1 до 19? Специально, чтобы не делилось на 4?
Дальше, умеет ли компилятор определять значение Is_Workaround_Possible, убрав одну из ветвей if Is_Workaround_Possible then ... else ... end if; > Ни файлов, ни потоков контролируемых нет и не будет. То есть в стандартной библиотеке не будет? Себе я сделал так:
Использование:
Добавлено через 10 мин. Ещё такой момент. Я применил это для своего вектора. Всё зашибись, но возник облом на файле 3МБ (какое-то исключение raised ADA.IO_EXCEPTIONS.DEVICE_ERROR : Invalid argument), причём именно в случае Is_Workaround_Possible. Я принудительно выставил Is_Workaround_Possible в false. И всё нормально прочиталось, при этом программа отработала за 0.21 секунд (я так понял, тут уже не время считывания, а время запуска, инициализаций итд). -------------------- |
TarasBer Ada BlockRead 31.05.2011 11:40
IUnknown Не подтверждается... В пустом проекте читает трехм... 31.05.2011 14:20
TarasBer Так, я понял. При инициализации шаблона там, в мод... 31.05.2011 14:40
IUnknown Работай с потоками, они умеют. Если правильно орга... 31.05.2011 16:30
TarasBer >Работай с потоками, они умеют.
Да только я ... 2.06.2011 10:25
IUnknown Нет. Ни файлов, ни потоков контролируемых нет и не... 2.06.2011 12:02
IUnknown Очень странно. Воообще-то такое поведение должно б... 2.06.2011 15:37
TarasBer Код такой:
procedure Load_From_File(V: out Vector... 2.06.2011 16:13![]() ![]() |
|
Текстовая версия | 10.12.2025 16:41 |