![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| x77 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1255 Регистрация: 25.3.2002 Репутация: 19 Всего: 22 |
мда. оптимизитары хреновы. я помню, долго веселился, когда обнаружил, что от перестановки местами полей разных типов в записи, меняется размер записи. понятно там, packed record'ы есть, в семёрке вообще выравнивание по границе можно руками выставлять, но всё равно: нафига, спрашивается? а недавно наткнулся на статью, где какой-то мудрый чувак советует за счёт таких перестановок "минимизировать размер приложения". у него в примере размер класса в памяти уменьшился на 8 байт. дескать, если у вас экземпляров класса ТЫЩИ, то по 8 байт на ТЫЩУ, это ж целых 8 КИЛОБАЙТОФФ!!! да хоть мегов восемь, для прикладного программирования, особенно в корпоративных разработках, читабельность кода намного дороже размера экзешника.
а другой фрукт как-то с пеной у рта мне доказывал, что Fields [0] работает быстрее, чем FieldByName. в принципе - да. быстрее. на доли миллисекунды. но доказывать ему, что по сравнению со скоростью доступа к базе это просто [censored34! Пожалуйста, соблюдайте элементарные правила приличия при общении на форуме], и ничего он на такой "оптимизации" не выйграет, а вот в коде может напороть как с добрым утром, - бесполезно. и куда этот мир катиться? З.Ы. Vit, сорри за оффтоп. -------------------- Я никогда не сопротивлялся искушению, поскольку узнал: что мне не нравится, то меня не искушает. © Джордж Бернард Шоу (Ирландия) |
|||
|
||||
| Dmitry V.Abramov |
|
||||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 30.9.2003 Где: Saint-Petersburg Репутация: 5 Всего: 4 |
Gute frage... А вот еще просто замечательный вопрос:
И просто шикарно выглядит генерируемый код для "OK !!!!":
No comments... Cashey может претендовать на звание багооткрывателя --------------------
/DVA |
||||||
|
|||||||
| Cashey |
|
||||
![]() Бессмертный ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3441 Регистрация: 13.11.2002 Где: в столице Репутация: 2 Всего: 60 |
Ну знаешь, ситуации бывают разные. У меня была такая: одна редиска вскрыла прогу разрабатываемую фирмой, где я работаю, и было принято решение срочно заменить кодировку (прога бухгалтерская, поэтому обновляется много раз в течении года). и вот мне - автору журнала учета- было приказано перерегистрить наших официальных пользователей автоматически, сам кодировщик зделали программеры создавшие прогу, поэтому он был на FOXPRO в DLL и работал в моем журнале (Delphi 5) через OLE Server. Так вот пришлось писать цикл, вытаскивать из базы Paradox (через драйвер BDE) все записи (> 50.000) прогонять их через OLE и загонять обратно. У меня тогда еще старый комп стоял (C266, 64Mb). Вот и думай кокого было, а я все делал с помощью fielbyname и здесь замена на field[0] было оправдано (даже очень)
Да уж, вот только гордится здесь нечем -------------------- библия учит любить ближнего, а камасутра обучает как именно |
||||
|
|||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
Согласен с Cashey. У меня тоже бывало такое, что нужна была скорость в БД - фильтрация таблицы из 20000 записей должна была делаться вручную, т.е. каждая запись проверялась моей процедуркой - я для каждого поля создавал отдельный компонент, скорость получилась приличная. Кстати, так читать даже легче прогу:
Table1.FieldByName('Street').AsString := ... и tb1Street.Value := ... -------------------- С уважением, г-н Посол. |
|||
|
||||
| Dmitry V.Abramov |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 30.9.2003 Где: Saint-Petersburg Репутация: 5 Всего: 4 |
А.... ээээээ.... причем здесь оптимизация? Есть явный прокол в генерации кода, а если бы генератор не был оптимизирующим, то он бы нам НЕ сообщимл "FOR or WHILE loop executes zero times - deleted" и ....... (дальше каждого должен быть свой набор матюгов ).
Так что, в данном случае, я бы сказал спасибо оптимизации. --------------------
/DVA |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |