Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2015.09.10;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.53 MB
Время: 0.395 c
15-1415442545
alexdn
2014-11-08 13:29
2015.09.10
Потестировать сайт


15-1417530390
MsGuns
2014-12-02 17:26
2015.09.10
Пейдж vs Блэкмор


15-1416917657
AndrewAndrey
2014-11-25 15:14
2015.09.10
Размер шрифта при печати


2-1392444785
Novicer
2014-02-15 10:13
2015.09.10
Как минимизировать число Query в DataModule?


2-1389243343
SkAndriy
2014-01-09 08:55
2015.09.10
Коррекция уменьшения размеров формы в Windows 7 (64-bit)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский