tag:blogger.com,1999:blog-3208941668630248550.post3561249170733194141..comments2024-03-13T10:43:06.615+02:00Comments on 18-ть лет с Delphi: Массовое использование интерфейсов "вообще" и InterlockedIncrement/InterlockedDecrement в частности...Alex W. Lulinhttp://www.blogger.com/profile/08400475846894229767noreply@blogger.comBlogger16125tag:blogger.com,1999:blog-3208941668630248550.post-30086286910838309352015-07-30T02:24:50.858+02:002015-07-30T02:24:50.858+02:00"Очень в своё время хотелось в Delphi интерфе..."Очень в своё время хотелось в Delphi интерфейсов БЕЗ ARC. Просто как абстрактные протоколы."<br /><br />О как вы правы..Alex W. Lulinhttps://www.blogger.com/profile/08400475846894229767noreply@blogger.comtag:blogger.com,1999:blog-3208941668630248550.post-50059024147445137202013-10-25T23:46:47.563+03:002013-10-25T23:46:47.563+03:00А в "дырках" бы я как раз вставил или вы...А в "дырках" бы я как раз вставил или вызов "интерцепторов" или trow "No Method".Alex W. Lulinhttps://www.blogger.com/profile/08400475846894229767noreply@blogger.comtag:blogger.com,1999:blog-3208941668630248550.post-32664025237155652572013-10-25T23:42:59.711+03:002013-10-25T23:42:59.711+03:00А уж для "системных вызовов" - так точно...А уж для "системных вызовов" - так точно.. Зарезервировал бы под них "специальные индексы"...Alex W. Lulinhttps://www.blogger.com/profile/08400475846894229767noreply@blogger.comtag:blogger.com,1999:blog-3208941668630248550.post-59086513614469617762013-10-25T23:39:15.751+03:002013-10-25T23:39:15.751+03:00Если я бы это делал, то я в КОМПИЛЯТОРЕ просто пос...Если я бы это делал, то я в КОМПИЛЯТОРЕ просто построил бы статическую СКВОЗНУЮ "мапу" (строка, индекс), и сделал бы "классические" VMT но с дырками. И звал бы методы не по "имени", а по индексу. Благо есть понятие "селекторов". Ну я бы лично - так бы и сделал...<br /><br />"Мапу" - от ВСЕХ возможных имён. В EVD с тегами кстати так и сделано...Alex W. Lulinhttps://www.blogger.com/profile/08400475846894229767noreply@blogger.comtag:blogger.com,1999:blog-3208941668630248550.post-54061432801487323492013-10-25T23:29:45.581+03:002013-10-25T23:29:45.581+03:00Есть у меня кстати ОДНА мысль на этот счёт.. Если ...Есть у меня кстати ОДНА мысль на этот счёт.. Если строки Imutable... а они таки Immutable - ничто не мешает сделать "мапу" и VMT по индексам.. Но это пока лишь - "догадка"...Alex W. Lulinhttps://www.blogger.com/profile/08400475846894229767noreply@blogger.comtag:blogger.com,1999:blog-3208941668630248550.post-68054863581636744932013-10-25T23:22:34.575+03:002013-10-25T23:22:34.575+03:00ну судя по отладчику - это не так... зовётся obj_c...ну судя по отладчику - это не так... зовётся obj_c_send_msg<br />да и перекрывать эти методы - запросто можно... и это - работает..<br /><br />не знаю.. "магия"... дальше в отладчике - я не ковырялся...Alex W. Lulinhttps://www.blogger.com/profile/08400475846894229767noreply@blogger.comtag:blogger.com,1999:blog-3208941668630248550.post-56852266155175904012013-10-25T23:19:01.091+03:002013-10-25T23:19:01.091+03:00ну это да,есть у меня подозрение что вся эта "...ну это да,есть у меня подозрение что вся эта "динамичность" компилятором потом как-то хитро в "статичность" превращается... не знаю только как ))Максим Крыловhttps://www.blogger.com/profile/17443805180550384967noreply@blogger.comtag:blogger.com,1999:blog-3208941668630248550.post-88715161115406993492013-10-25T22:54:04.081+03:002013-10-25T22:54:04.081+03:00На интерлокедах... Но он ещё и "динамичность ...На интерлокедах... Но он ещё и "динамичность вызова" добавляет.. и "ничего не тормозит".. что - СТРАННО.. но факт остаётся фактом...Alex W. Lulinhttps://www.blogger.com/profile/08400475846894229767noreply@blogger.comtag:blogger.com,1999:blog-3208941668630248550.post-72066294167465744352013-10-25T22:43:13.718+03:002013-10-25T22:43:13.718+03:00а как в objc retain/release устроен? я думалл какр...а как в objc retain/release устроен? я думалл какраз на интерлокитах...Максим Крыловhttps://www.blogger.com/profile/17443805180550384967noreply@blogger.comtag:blogger.com,1999:blog-3208941668630248550.post-69304540331554706242013-10-25T22:26:51.485+03:002013-10-25T22:26:51.485+03:00Вот я сейчас программирую "мобильные устройст...Вот я сейчас программирую "мобильные устройства" и "вспомнил эру БК-0010.01" :-)Alex W. Lulinhttps://www.blogger.com/profile/08400475846894229767noreply@blogger.comtag:blogger.com,1999:blog-3208941668630248550.post-5712690170216649472013-10-25T22:19:40.163+03:002013-10-25T22:19:40.163+03:00"Мы говорим о потери производительности на чё..."Мы говорим о потери производительности на чём? У меня в голове есть виртуальные примеры, ограниченные достаточно узкими рамками задач о "интеллектуализации" текста. Но такая "интеллектуализация" в контексте прикладных задач сводится к "пре-процессингу" больших объемов статического текста"<br />-- вот ошибаетесь :-)Alex W. Lulinhttps://www.blogger.com/profile/08400475846894229767noreply@blogger.comtag:blogger.com,1999:blog-3208941668630248550.post-58053994368834067172013-10-25T22:19:01.376+03:002013-10-25T22:19:01.376+03:00"Ага, по сути получается, что мы опять влезае..."Ага, по сути получается, что мы опять влезаем в голую инженерию управления памятью."<br />я её занимаюсь почти 19-ть лет :-)Alex W. Lulinhttps://www.blogger.com/profile/08400475846894229767noreply@blogger.comtag:blogger.com,1999:blog-3208941668630248550.post-13416357659826069782013-10-25T09:47:34.016+03:002013-10-25T09:47:34.016+03:00>>Если хотите - у меня есть несколько unsucc...>>Если хотите - у меня есть несколько unsuccess story.<br /><br />Ага, по сути получается, что мы опять влезаем в голую инженерию управления памятью. Голую, т.к. легко красивые одежды срываются при первом же дуновении ветерка рациональности. <br /><br />Мы говорим о потери производительности на чём? У меня в голове есть виртуальные примеры, ограниченные достаточно узкими рамками задач о "интеллектуализации" текста. Но такая "интеллектуализация" в контексте прикладных задач сводится к "пре-процессингу" больших объемов статического текста, что:<br />а) не требует решения в прикладном клиентском ПО<br />б) выполняется однократно для множественного обращения к информационному ядру системы (пре-процессинг)<br />в) не вовлечено в критический по времени system response<br />... следствие: такого рода задача решается на специально подготовленном аппаратном обеспеении + с привлечением специализированных алгоритмов + отдельным способом отобранным и высококвалифицированным специалистом.<br /><br />Вопрос: зачем перегружать "вижуал бейсик"? Всеволодhttps://www.blogger.com/profile/12019078643087543460noreply@blogger.comtag:blogger.com,1999:blog-3208941668630248550.post-19786153891985902972013-10-25T01:04:39.115+03:002013-10-25T01:04:39.115+03:00Я НА САМОМ деле - ПОНЯЛ в чём вопрос... Хочется &q...Я НА САМОМ деле - ПОНЯЛ в чём вопрос... Хочется "иногда" отдавать интерфейсы, а "иногда" - ПРОТОКОЛЫ. Тут AddRef - КОНЕЧНО не поможет...Alex W. Lulinhttps://www.blogger.com/profile/08400475846894229767noreply@blogger.comtag:blogger.com,1999:blog-3208941668630248550.post-86965658061906782192013-10-25T00:39:33.686+03:002013-10-25T00:39:33.686+03:00Так НЕ ВОПРОС...
Сделайте AddRef == -1 и Release =...Так НЕ ВОПРОС...<br />Сделайте AddRef == -1 и Release == -1.<br />Делов-то. Сам не раз так делал...Alex W. Lulinhttps://www.blogger.com/profile/08400475846894229767noreply@blogger.comtag:blogger.com,1999:blog-3208941668630248550.post-34314621972808922422013-10-25T00:29:31.837+03:002013-10-25T00:29:31.837+03:00Очень в своё время хотелось в Delphi интерфейсов Б...Очень в своё время хотелось в Delphi интерфейсов БЕЗ ARC. Просто как абстрактные протоколы.Anonymoushttps://www.blogger.com/profile/16601797989614293782noreply@blogger.com