Автор Тема: Семантика SHORT(x) в Компонентном Паскале  (Прочитано 34009 раз)

trurl

  • Full Member
  • ***
  • Сообщений: 133
    • Просмотр профиля
Re: Семантика SHORT(x) в Компонентном Паскале
« Ответ #75 : Декабрь 29, 2012, 09:19:37 am »
То есть по факту, большие файлы в ББ редактировать нельзя.
Странно, я для эксперимента открывал файл в 600М на компьютере с 512M ОЗУ. И вполне редактируется. Только вот сохранять долго, да.

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Семантика SHORT(x) в Компонентном Паскале
« Ответ #76 : Декабрь 29, 2012, 09:28:24 am »
То есть по факту, большие файлы в ББ редактировать нельзя.
Странно, я для эксперимента открывал файл в 600М на компьютере с 512M ОЗУ. И вполне редактируется. Только вот сохранять долго, да.
Видимо сильно зависит от содержимого, и, возможно, редакции/версии ББ.
Y = λf.(λx.f (x x)) (λx.f (x x))

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Семантика SHORT(x) в Компонентном Паскале
« Ответ #77 : Декабрь 29, 2012, 09:32:33 am »
То есть по факту, большие файлы в ББ редактировать нельзя.
Странно, я для эксперимента открывал файл в 600М на компьютере с 512M ОЗУ. И вполне редактируется. Только вот сохранять долго, да.
Видимо сильно зависит от содержимого, и, возможно, редакции/версии ББ.
Проверил на школьной сборке (это вроде бы 1.5) - то же самое.
Y = λf.(λx.f (x x)) (λx.f (x x))

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re: Семантика SHORT(x) в Компонентном Паскале
« Ответ #78 : Декабрь 29, 2012, 09:34:53 am »
То есть по факту, большие файлы в ББ редактировать нельзя.
Странно, я для эксперимента открывал файл в 600М на компьютере с 512M ОЗУ. И вполне редактируется. Только вот сохранять долго, да.
Возможно там этот документ поместился в виртуальную память, которая была больше чем 512М...
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: Семантика SHORT(x) в Компонентном Паскале
« Ответ #79 : Декабрь 29, 2012, 09:42:42 am »
Спасибо, valexey.
Я в очередной раз убедился что текстовая подсистема BB сделана хуже некуда.

Проверил Oberon V4
Открывает этот файл мгновенно. Потребление памяти 800 кб.

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Семантика SHORT(x) в Компонентном Паскале
« Ответ #80 : Декабрь 29, 2012, 09:51:19 am »
То есть по факту, большие файлы в ББ редактировать нельзя.
Странно, я для эксперимента открывал файл в 600М на компьютере с 512M ОЗУ. И вполне редактируется. Только вот сохранять долго, да.
Кажется я немного локализовал проблему: если создать большой текстовый файл (просто txt) в ASCII, то ББ его отлично открывает, и при этом потребление памяти не растет. Только что создал в фаре и открыл в ББ текстовый файл размером 177 Мб. Работает отлично. Не тормозит ни в каком месте (только открывал долго), если строки там не слишком длинные.

А вот если мы имеем ББ-документ большой, то все, амба. Жрет память и тормозит при листании. То есть со своими документами ББ работает хуже чем с txt. И свои документы он полностью засасывает в ОЗУ (видимо аля DOMа строит). Следовательно что? Следовательно свои документы можно было не мудря с кодировкой просто сжимать Хаффманом, если жалко места, а если не жалко, то хранить текст просто в ucs-2.
Y = λf.(λx.f (x x)) (λx.f (x x))

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Семантика SHORT(x) в Компонентном Паскале
« Ответ #81 : Декабрь 29, 2012, 09:52:19 am »
Спасибо, valexey.
Я в очередной раз убедился что текстовая подсистема BB сделана хуже некуда.

Проверил Oberon V4
Открывает этот файл мгновенно. Потребление памяти 800 кб.
См. мое сообщение выше. Если он у тебя открывает txt'шник, то это одно, если он открывает собственный составной документ где есть только этот текст - это другое.
Y = λf.(λx.f (x x)) (λx.f (x x))

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: Семантика SHORT(x) в Компонентном Паскале
« Ответ #82 : Декабрь 29, 2012, 09:59:23 am »
Проверил. Ничего не изменилось  :)

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: Семантика SHORT(x) в Компонентном Паскале
« Ответ #83 : Декабрь 29, 2012, 12:33:43 pm »
Потребление памяти 800 кб.

Вру. Эти 800 кб. уходят мод загружаемые модули текстовой подсистемы при первом вызове Edit.Open

А под наш файлик выделяется примерно 12 кб. Т.е. как я и думал в памяти только то что на экране.
Только вот в BB это не так. Но там возможно файл мапится в память...

Kemet

  • Hero Member
  • *****
  • Сообщений: 587
    • Просмотр профиля
Re: Семантика SHORT(x) в Компонентном Паскале
« Ответ #84 : Декабрь 30, 2012, 05:27:34 am »
txt он и есть txt - чистый текст. Его где ни открой - он везде валиден, поэтому скорость работы с ним максимальная, а вот документ... его же парсить надо, можно, конечно, ускорить, но все равно ресурсов он будет жрать существенно больше.

Илья Ермаков

  • Sr. Member
  • ****
  • Сообщений: 493
    • Просмотр профиля
Re: Семантика SHORT(x) в Компонентном Паскале
« Ответ #85 : Декабрь 30, 2012, 04:25:02 pm »
Стоп-стоп, господа, а вы сохранили этот документ в ODC, прежде чем открывать и что-то мерять?

Иначе он открывается через конвертер, порождается новый TextModel в памяти.

-- Пардон, прочёл выше. Странно.

Илья Ермаков

  • Sr. Member
  • ****
  • Сообщений: 493
    • Просмотр профиля
Re: Семантика SHORT(x) в Компонентном Паскале
« Ответ #86 : Декабрь 30, 2012, 04:27:52 pm »
Но в итоге надо различать уровень TextModel и уже собственно отображения на экране.
Тормозит, скорее всего, не TextModel, который захреначен с расчётом на частичную подгрузку.
А уже выше в Views или Setters какой-нибудь конкретный алгоритм, сделанный "по быстрому" и "имеющий" текст целиком.

igor

  • Sr. Member
  • ****
  • Сообщений: 438
    • Просмотр профиля
Re: Семантика SHORT(x) в Компонентном Паскале
« Ответ #87 : Январь 23, 2013, 02:16:01 pm »
Секреты компилятора
Эта статья написана мной  :)
Правда, указывать сей факт на Оберонкоре не сочли нужным...
Рад сообщить, что благодаря помощи Ильи Ермакова и при его непосредственном участии недоразумение с авторством статьи на Оберонкоре было устранено  :)

igor

  • Sr. Member
  • ****
  • Сообщений: 438
    • Просмотр профиля
Re: Семантика SHORT(x) в Компонентном Паскале
« Ответ #88 : Январь 23, 2013, 02:26:59 pm »
Причины ошибки имели технический характер.

DddIzer

  • Гость
Re: Семантика SHORT(x) в Компонентном Паскале
« Ответ #89 : Январь 23, 2013, 02:33:26 pm »
Причины ошибки имели технический характер.
Возможно... но не в целях разжигания междусобоя, но справедливости  ради..
 
обратите внимание на

"
Автор разделов «Опции компилятора» и «Маркер конца списка компиляции»: Лоскутов И.В.

Автор*: Горячев И.Н. Правки: Ермаков. И.Е.
"

вы всего  лишь "Автор разделов"  ;) а  истинные авторы  ниже  ;D