|
Определить размер данных переменной в байах
|
|||
---|---|---|---|
#18+
Всем доброго времени суток! Кто может подсказать, я для своей программы выбрал файл произвольного доступа т.к файл предназначен для хранения большого количества информации, как база данных, которая постоянно пополняется новыми данными. Для быстродействия идеальный вариант т.к. можно запросто получить из файла необходимые данные, не считывая весь файл. Проблема в том, что выделяется определенное количество байт под одну запись, а максимальный размер записи зависит от пользователя. Поэтому решил так, если размер записи превышает размер выделенной памяти, программа создает новый файл с необходимым размером ячейки перезаписывает все данные из старого и меняет старый файл, таким образом программа определит самостоятельно сколько байт ей необходимо для записи. Данные записываются в виде массивов в массив структуры, тоесть данных большое множество и все они различных типов. Мой вопрос заключается в том как можно получить сколько байт памяти займет одна позиция структуры, можно конечно вовремя выполнения подсчитывать байты, но это муторно и ухудшит быстродействие приложения. Я конечно имею один вариант записывать одну позицию структуры в другой файл и открыть его например как текстовый и с помощью Len получить количество байт, но как то это неправильно я полагаю можно подобрать более грамотный вариант, так как данный вариант тоже снизит быстродействие! ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2013, 21:58 |
|
Определить размер данных переменной в байах
|
|||
---|---|---|---|
#18+
Среда разработки какая? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2013, 22:11 |
|
Определить размер данных переменной в байах
|
|||
---|---|---|---|
#18+
VB ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2013, 22:56 |
|
Определить размер данных переменной в байах
|
|||
---|---|---|---|
#18+
Visual studio 2008 Модератор: Тема перенесена из форума "Visual Basic". ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2013, 22:58 |
|
Определить размер данных переменной в байах
|
|||
---|---|---|---|
#18+
bratsts, записывай в MemoryStream и смотри его длину. Вообще же я бы не стал изобретать велосипед и использовал БД. Тем более что есть Compact версия SQL Server которую можно встроить в свою программу. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2013, 00:37 |
|
Определить размер данных переменной в байах
|
|||
---|---|---|---|
#18+
Я с БД не очень разобрался только как хранить небольшие записи в виде таблицы а например как мне сохранить в БД трехмерный масив ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2013, 07:40 |
|
Определить размер данных переменной в байах
|
|||
---|---|---|---|
#18+
bratstsа например как мне сохранить в БД трехмерный масивЗависит от конкретной задачи, а в общем случае просто создается таблица с полями Значение Индекс1 Индекс2 Индекс3 bratstsфайл произвольного доступа .... для хранения большого количества информации, .... Для быстродействия идеальный вариантДля быстродействия идеальный вариант как раз-таки БД, так как сотни людей много лет работают над оптимизацией скорости работы СУБД, а над оптимизацией вашего файла произвольного доступа - вы один, то есть изобретаете велосипед. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2013, 11:24 |
|
|
start [/forum/topic.php?fid=20&msg=38285880&tid=1404408]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
76ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 366ms |
total: | 541ms |
0 / 0 |