tag:blogger.com,1999:blog-3208941668630248550.post2194954554187871896..comments2024-03-13T10:43:06.615+02:00Comments on 18-ть лет с Delphi: Коротко. Ещё об атомарных строкахAlex W. Lulinhttp://www.blogger.com/profile/08400475846894229767noreply@blogger.comBlogger8125tag:blogger.com,1999:blog-3208941668630248550.post-31389081039437559392013-10-30T22:14:13.147+03:002013-10-30T22:14:13.147+03:00Витя! ПЯТЬ БАЛЛОВ :-) сам хотел что-то подобное на...Витя! ПЯТЬ БАЛЛОВ :-) сам хотел что-то подобное написать, но не находил "нужных слов".<br /><br />Тебе ОПРЕДЕЛЁННО нужно поделиться "своим программистским опытом" во "вдумчивых статьях". ИМХО.Alex W. Lulinhttps://www.blogger.com/profile/08400475846894229767noreply@blogger.comtag:blogger.com,1999:blog-3208941668630248550.post-5535146449957835772013-10-29T22:08:25.787+03:002013-10-29T22:08:25.787+03:00Простите, не понимаю. Какие лично Вы видете в прим...Простите, не понимаю. Какие лично Вы видете в применении описанных автором строк проблемы с многопоточностью? С обычными дельфи-строками они возникают? Что значит, простите "как обеспечивается прогон через него ВСЕХ строк"? <br />И - да, относительно AsWStr^ := 'x'?, как говорила моя любимая школьная учительница "вены можно и вилкой вскрыть". В C++ тоже, знаете ли, какой-нибудь сумрачный тевтонский гений, вооруженный const_cast с reinterpert_cast впридачу может устроить такой локальный экстерминатус, что мало никому не покажется - ну и дальше-то что?Anonymoushttps://www.blogger.com/profile/17170792408265896123noreply@blogger.comtag:blogger.com,1999:blog-3208941668630248550.post-71991318654045232872013-10-28T23:24:02.670+03:002013-10-28T23:24:02.670+03:00PChar(Random)^ := 'x'
Не пробовали? Попро...PChar(Random)^ := 'x'<br /><br />Не пробовали? Попробуйте.. Не пожалеете...Alex W. Lulinhttps://www.blogger.com/profile/08400475846894229767noreply@blogger.comtag:blogger.com,1999:blog-3208941668630248550.post-43879631337459035522013-10-26T21:05:25.351+03:002013-10-26T21:05:25.351+03:00Анекдот про бензопилу знаете?
Можно ведь извратить...Анекдот про бензопилу знаете?<br />Можно ведь извратиться и массой других способов.<br /><br />В общем на подобные вопросы - отвечать желания нет.Alex W. Lulinhttps://www.blogger.com/profile/08400475846894229767noreply@blogger.comtag:blogger.com,1999:blog-3208941668630248550.post-13451353082841327832013-10-26T21:00:37.801+03:002013-10-26T21:00:37.801+03:00Чего-то не понял, а такая строка immutable чтоли? ...Чего-то не понял, а такая строка immutable чтоли? А если сделать так:<br />l3CString.AsWStr^ = 'x'?<br />Не знаю насчет метрик, мне они не нужны, а вот про фреймворк, как устроен, где что хранится, как обеспечивается прогон через него ВСЕХ строк (иначе он лажать будет), как быть со сравнением со строковыми константами и т.д. и т.п.<br />Во сколько это все обходится.<br />Как у него с многопоточностью отдельно интересно.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-3208941668630248550.post-30611740592067388792013-10-17T00:57:39.465+03:002013-10-17T00:57:39.465+03:00Плюс - использование View. И подстрок "по мес...Плюс - использование View. И подстрок "по месту". А не Delete/Copy.Alex W. Lulinhttps://www.blogger.com/profile/08400475846894229767noreply@blogger.comtag:blogger.com,1999:blog-3208941668630248550.post-52091468219726878972013-10-17T00:56:49.155+03:002013-10-17T00:56:49.155+03:00Ну я так примерно и делаю.. У меня - значительный ...Ну я так примерно и делаю.. У меня - значительный прирост производительности и экономия памяти. Правда там хитрая стратегия создания объектов. В зависимости от их длины. 1-байтные строки распределяютя не так как 2-байтные, и те так как 3-байтные. Ну и т.д. И там ИМЕННО объекты, а не string. Ну и опять же - у меня же - ОБРАБОТКА текста. 80% задач. Предметная область такая.Alex W. Lulinhttps://www.blogger.com/profile/08400475846894229767noreply@blogger.comtag:blogger.com,1999:blog-3208941668630248550.post-37002402606121433192013-10-17T00:18:26.305+03:002013-10-17T00:18:26.305+03:00а я когда-то делал глобальное (для приложения) хра...а я когда-то делал глобальное (для приложения) хранилище строк. все строки, приходящие из БД прогоняются через такой чёрный ящик. если строки там нет- то она добавляется. если есть -наращивается счётчик ссылок. в итоге получаем небольшой прирост скорости сортировки/группировки в гридах и сокращается расход памяти. но это заметно не вооружённым глазом только на больших объёмах данных, что бывает довольно редко. плюс накладные расходы на ящик. в итоге это сейчас не используется (ну почти).. надо будет отыскать этот исходник..Николай Зверевhttps://www.blogger.com/profile/08965247674233981930noreply@blogger.com