Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2015.09.10;
Скачать: CL | DM;

Вниз

Пара слов о кэшировании данных при чтении и смартпойнтерах   Найти похожие ветки 

 
Rouse_ ©   (2014-11-14 20:49) [0]

Как обычно - вычитка. Статья завершена и если нет претензий по материалу или изложению будет опубликована на следующией неделе.

http://rouse-debug.blogspot.ru/2014/11/blog-post.html


 
MBo ©   (2014-11-14 21:31) [1]

Ну ты монстр. Тут листать замучаешься ;)

До слов "Тогда перейдем ко второй части :)" поправил, шлю на почту. Форматирование сбилось при взятии из html, но думаю, помеченные опечатки нетрудно соотнести будет.
Пойдет в таком виде?


 
Rouse_ ©   (2014-11-14 21:47) [2]

Да, спасибо, в опенофисе все правики видны - завтра займусь :)


 
Rouse_ ©   (2014-11-14 21:53) [3]

Кстати а наш движок подсветки на таком вот ошибется или нет?

 TSharedPtr = record
 public
   class function Create<T: class>(AObj: T): TSharedPtr<T>; static; inline;
 end;

...

class function TSharedPtr.Create<T>(AObj: T): TSharedPtr<T>;
begin
 Result.FPtr := TObjectDestroyer.Create(AObj);
end;


 
Rouse_ ©   (2014-11-14 21:54) [4]

Во блин, не ошибся... значит у меня в блоге старый вариант, надо бы заменить...


 
Rouse_ ©   (2014-11-14 21:55) [5]

А то на моем вот такие артефакты вылазят:

 TSharedPtr = record
 public
   class function Create<t: class="">(AObj: T): TSharedPtr<t>; static; inline;
 end;

...

class function TSharedPtr.Create<t>(AObj: T): TSharedPtr<t>;
begin
 Result.FPtr := TObjectDestroyer.Create(AObj);
end;
</t></t></t></t:>


 
MBo ©   (2014-11-14 22:14) [6]

Окончание ушло


 
Rouse_ ©   (2014-11-14 22:24) [7]

Получил, спасибо, щас перелопачу, пока время есть...


 
полвторого ©   (2014-11-14 22:33) [8]

Во-первых, "зупустим" полоснуло по глазам бритвой.
Во-вторых, разве windows поступает не так же, как и unix-совместимые ОС, читая файлы блоками, кратными объему страницы памяти - и которые можно после открытия файла просто попросить у системы замапить в наше адресное пространство?
В-третьих, читаю далее =)


 
полвторого ©   (2014-11-14 22:38) [9]

"через чур" - тоже фтопку.


 
Rouse_ ©   (2014-11-14 22:41) [10]

А ты точно уверен что вот тут нужно тире?


> Ну конечно прямо вот в таком виде это сделать не получится
> без мемлика - ну нет у нас сборщика мусора и прочего (вот
> тут)
но не торопитесь говорить


 
Rouse_ ©   (2014-11-14 22:44) [11]


> Во-первых, "зупустим" полоснуло по глазам бритвой.

Поправил.


> Во-вторых, разве windows поступает не так же, как и unix-
> совместимые ОС, читая файлы блоками, кратными объему страницы
> памяти - и которые можно после открытия файла просто попросить
> у системы замапить в наше адресное пространство?

Windows - да :)


> "через чур" - тоже фтопку.

фикс


 
полвторого ©   (2014-11-14 22:50) [12]

"кукой-нибудь"
"проксик (нужен дефис) то мы напишем"
Ну и да, "буфер" и все однокоренные слова принято транслитерировать с одной Ф.


 
MBo ©   (2014-11-14 22:54) [13]

>А ты точно уверен что вот тут нужно тире?
Это необязательно


 
Rouse_ ©   (2014-11-14 23:21) [14]

Ффух, вроде перелопатил :)


 
полвторого ©   (2014-11-14 23:28) [15]

"всеравно"
"все-же"
"в прочем"
"мозжечком (дефис) то"
"не привычно"
Пунктуация тоже, увы, хромает на все три целых четырнадцать сотых ноги, но на нее указывать, сидючи в Сети с "весла" и тыкая в экранную клавиатуру, лучше не стану. Просто подчеркну, что коряг в ней куча.


 
Rouse_ ©   (2014-11-14 23:38) [16]


> полвторого ©   (14.11.14 23:28) [15]
> Пунктуация тоже, увы, хромает на все три целых четырнадцать
> сотых ноги,

Дык поэтому и выкидываю статьи на вычитку, ни ни разу я не Лермонтов, как был троишником - так и остался :)
ЗЫ: завтра поправлю по [15], бо упарился уже в очередной раз вычитывать :)


 
DVM ©   (2014-11-14 23:54) [17]


> Rouse_ ©

в делфи кстати в модуле Soap.EncdDecd находится аналогичный твоему TOnMemoryStream - TPointerStream, только он там не public


 
DVM ©   (2014-11-14 23:58) [18]

Move(Buffer, Pointer(Longint(Memory) + Position)^, Count);
тут косяк, нехорошо приводить указатель к 4 байтовому числу


 
Rouse_ ©   (2014-11-15 00:10) [19]


> DVM ©   (14.11.14 23:54) [17]

В курсе, он по этому и сидит под имплементацией, в противном случая из-за разрешенного Write таких делов натворить можно :)


> Move(Buffer, Pointer(Longint(Memory) + Position)^, Count);

Ну... не переведен у нас проект на 64 битную совместимость :)
У меня половина ядра защиты на асме нафигачена, поэтому даже не паримся пока что :)
Если делать - так делать глобально.


 
Eraser ©   (2014-11-15 00:43) [20]


> Rouse_ ©   (14.11.14 20:49) 

еще штук 5-10 таких статей и можно публиковать книгу. будет одна из лучших в своем роде.


 
Rouse_ ©   (2014-11-15 01:58) [21]

Да вот еще, я ж не Фленов :) Хотя таки да, уже 27-я статейка по счету получется, практически маленькая методичка


 
Германн ©   (2014-11-15 02:13) [22]


> Rouse_ ©   (14.11.14 22:41) [10]
>
> А ты точно уверен что вот тут нужно тире?
>

Не только не нужно, но и противопоказано.
Чересчур пишется слитно.


 
картман ©   (2014-11-15 11:10) [23]


> Rouse_ ©   (15.11.14 01:58) [21]


> Да вот еще, я ж не Фленов


а потому назвать "Введение в основы Дельфи"))


 
Inovet ©   (2014-11-15 12:15) [24]

Во, а я как-то и не заметил эту тему.


 
Rouse_ ©   (2014-11-18 18:23) [25]

Ну вроде победил, всем спасибо за вычитку.
Релиз: http://alexander-bagel.blogspot.ru/2014/11/store.html


 
junglecat ©   (2014-11-19 10:02) [26]

> [25] Rouse_ ©   (18.11.14 18:23)

что бросилось в глаза в плане грамотности

Врятли я открою секрет => вряд ли
опять-же => опять же
тот-же => тот же
коментария, изпользуя - спишем на очепятки
не избежны - слитно

Ну и запятых кое-где не хватает, но это фиг с ним, и так нормально


 
han_malign ©   (2014-11-19 17:32) [27]


> > Move(Buffer, Pointer(Longint(Memory) + Position)^, Count);
>
>
> Ну... не переведен у нас проект на 64 битную совместимость
> :)


Move(Buffer, (PAnsiChar(Memory) + Position)^, Count)


 
Rouse_ ©   (2014-11-19 19:25) [28]


> han_malign ©   (19.11.14 17:32) [27]

Так то оно - да, но по хорошему, этого мало, если уж делать - так делать полностью :)


 
han_malign ©   (2014-11-20 09:15) [29]


> этого мало

- начинать надо c малого...
И если уж приводить - то к дженерику - integer/cardinal, раз уж LONG_PTR не определен...

До меня на старости лет наконец дошло - зачем в С++ придумали все эти некрасивые static_cast, reinterpret_cast, dynamic_cast (а теперь еще и const_cast)...


 
Rouse_ ©   (2014-11-20 19:54) [30]


> han_malign ©   (20.11.14 09:15) [29]
> До меня на старости лет наконец дошло - зачем в С++ придумали
> все эти некрасивые static_cast, reinterpret_cast, dynamic_cast
> (а теперь еще и const_cast)...

Была бы беда, у меня ягартовский компилер неверный код генерит при работе с double (под ARM), в отличие от gcc или дефолтового мастдайного - та еще засада, с учетом того что тестировать результат компиляции можно только по результатом выхлопа "железного ключа (Guardant CODE)", а на дебажных сборках без "железяки" все фунциклирует на ура :)


 
jack128 ©   (2014-11-20 20:10) [31]


> И если уж приводить - то к дженерику - integer/cardinal

sizeof(integer) = 4 на x64, так что это бы не помогло.


 
Ellisium ©   (2014-11-20 20:32) [32]


> sizeof(integer) = 4 на x64

почему?!


 
Rouse_ ©   (2014-11-20 21:09) [33]


> Ellisium ©   (20.11.14 20:32) [32]
>
> > sizeof(integer) = 4 на x64
>
> почему?!

Потому что integer это 4 байта, так глаголит документация: http://docwiki.embarcadero.com/Libraries/XE6/en/System.Integer
Оть было-бы это NativeInt - тогда другой коленкор.


 
MBo ©   (2014-11-24 08:27) [34]


> Держали двадцать корректур, и всё равно на титульном листе
> было напечатано: «Британская энциклопудия».


"Врятли" в начале бросается в глаза.
И с мягкими знаками беда осталась:
будет производится работа
можно будет ознакомится



Страницы: 1 вся ветка

Текущий архив: 2015.09.10;
Скачать: CL | DM;

Наверх




Память: 0.55 MB
Время: 0.441 c
15-1412228540
alexdn
2014-10-02 09:42
2015.09.10
Что с ВКонтакте?


6-1220336116
ilshat
2008-09-02 10:15
2015.09.10
Принадлежность группе пользователя в AD


2-1392477234
Сергей
2014-02-15 19:13
2015.09.10
Проблема с созданием меню


1-1331112835
Deltas
2012-03-07 13:33
2015.09.10
TOleContainer и Excel


15-1421425875
SergP
2015-01-16 19:31
2015.09.10
Перепаковать архивы 7z в zip