ZebroidФорумПубличный разделПредложенияАрхивУвеличение допустимого объема файлов SQL, XML,TXT в Зеброиде

Увеличение допустимого объема файлов SQL, XML,TXT в Зеброиде

05 января 2011, 19:27
Зарегистрирован: 26 апреля 2010, 01:51
Сейчас в Зеброиде максимальный объем обрабатываемых SQL, XML и общий объем TXT файлов в районе 600-700 мегайбат.

Сайты стабильно растут, а значит растут и базы.

Мне уже несколько раз не хватало текущего объема.

Насколько я понял задача повышения объема нетривиальная, поэтому решил в виде отдельного предложения запостить.



06 января 2011, 04:16
Зарегистрирован: 10 апреля 2012, 00:00
Я уже объяснял почему так, а так же объяснял минусы решения этой проблемы: скорость обработки проектов значительно снизится, и тогда мало того, что элементарная расстановка меток для проекта больше 700 Мб превратится в несколькочасовой зависон программы, так это время может удвоится за счёт того, что из оперативки проекты лягут на жерсткий диск.



06 января 2011, 04:48
Зарегистрирован: 26 апреля 2010, 01:51
Может пока голосовалка дойдет до этого пункта какие-нибудь новые варианты появятся.

За год Delphi какую-нибудь новую версию выпустит или библиотека обновится.



06 января 2011, 06:14
Зарегистрирован: 10 апреля 2012, 00:00
Может пока голосовалка дойдет до этого пункта какие-нибудь новые варианты появятся.

За год Delphi какую-нибудь новую версию выпустит или библиотека обновится.


Среда программирования тут не при чем. Всё дело в формате хранения данных: чем больгше проект - тем больше ему нужно непрерывного участка в оперативной памяти, которого может и не быть в нужный момент. Плюс ко всему виндовс не позволяет выделить больше 2Гб оперативки, так что даже есть у вас 8 Гб на компьютере, и из них 6 Гб свободных (что значит, что шанс получить непрерывный кусок памяти большого обьема очень велик) программа всё равно имеет шансы не получить того, что просит. Так что единственный в данном случае вариант решения есть либо всё переносить на винт и получить снижение скорости, либо не хранить данные в сплошном массиве, а это очень много работы по изменению логики практически всех существующих инструментов в программе.



06 января 2011, 08:06
Зарегистрирован: 26 апреля 2010, 01:51
либо не хранить данные в сплошном массиве


То есть сейчас в программе какая-то огромная глобальная переменная-массив под все данные сразу?

В инете пишут, что тогда действительно 2Gb максимум для массива в 32-битной Windows.

А для 64-битной тоже самое ограничение?

либо всё переносить на винт и получить снижение скорости


Можно периодически скидывать на диск данные только для огромных объемов, тогда работа с обычными проектами останется неизменной.



07 января 2011, 15:43
Зарегистрирован: 10 апреля 2012, 00:00
То есть сейчас в программе какая-то огромная глобальная переменная-массив под все данные сразу?


Что-то типа такого, не всегда удаётся всё продумать вперед, этот момент я упустил, но опять таки он кретичен при очень больших проектах, а это даже не 1%

В инете пишут, что тогда действительно 2Gb максимум для массива в 32-битной Windows.

А для 64-битной тоже самое ограничение?


Ну программа всё равно 32 битная, просто в 64-битной винде работает под эмулятором.

Можно периодически скидывать на диск данные только для огромных объемов, тогда работа с обычными проектами останется неизменной.


Нет, нужно делать всё одинаково, иначе багов и боков повылазит еще больше.



07 января 2011, 18:09
Зарегистрирован: 26 апреля 2010, 01:51


[quote="Oleg":3o34nz2w]В инете пишут, что тогда действительно 2Gb максимум для массива в 32-битной Windows.

А для 64-битной тоже самое ограничение?


Ну программа всё равно 32 битная, просто в 64-битной винде работает под эмулятором.

[/quote:3o34nz2w]

А если отдельную версию для больших проектов скомпилить под 64-битной Windows и соответствующим компилятором, она тогда станет 64-битной?



08 января 2011, 06:20
Зарегистрирован: 10 апреля 2012, 00:00
x64 компилятора Делфи еще нету, только обещают. Да и когда появится перевести под него проект будет очень проблематично, я до сих пор сижу на 2007 версии в связи с тем, что несколько попыток перевести программу под новые версии провалились