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

Вниз

Написание оптимального кода под Delphi   Найти похожие ветки 

 
SAK ©   (2006-04-09 23:51) [0]

Здравствуйте. Прочитал статью на этом сайте http://www.delphimaster.ru/articles/optimization.html и обнаружил две неточности. Это правила 10 и 12.
10. Операция div не производит округление. Потому X div 4 полностью эквивалентно X shr 2.
12. В Turbo Pascal и Delphi выражение, стоящее в цикле for между to и do вычисляется однократно и результат помещается во временную переменную с которой затем и производится сравнение.
В доказательство сказанному:

procedure test;
var i: integer;
   s: string;
begin
 {Правило 12 для for неверно!}
 s:="1234567890";
 for i:=1 to length(s) do
  begin
    ShowMessage(Format("i=%d Length(s)=%d",[i, Length(s)]));
    delete(s,1,1)
  end;

 {Утверждение в правиле 10 неверно!}
 i:=15;
 ShowMessage(Format("15 div 4=%d 15 shr 2=%d",[i div 4, i shr 2]));
end;


 
Джо ©   (2006-04-10 00:04) [1]

Эта тема периодически всплывает раз в два месяца :)
Но автору статьи, видимо, все-равно.


 
Anatoly Podgoretsky ©   (2006-04-10 01:04) [2]

Ты не первый.
Статья изобилует ошибками и просто не понятно откуда он их выкопал.


 
MBo ©   (2006-04-10 08:03) [3]

>Потому X div 4 полностью эквивалентно X shr 2

только для неотрицательных чисел.


 
Poirot ©   (2006-04-10 08:47) [4]

А со статьёй можно что нить делать ?:) А то ить какой-нить студент не долго думая такое начёнетлепить на экзамене, что дурно станет:(

2 [2]
Сдаётся мне что это немного передранное с C оптимизирование. Не думаю....


 
BiN ©   (2006-04-10 10:53) [5]


> SAK ©   (09.04.06 23:51)  
>
> Здравствуйте. Прочитал статью на этом сайте...


"Шо, опять?!!" (с) волк


 
TUser ©   (2006-04-10 11:19) [6]

Статью сабжевую надо бы удалить. А то [1].


 
palva ©   (2006-04-10 11:46) [7]

Надо начать отсчет веток по статье. Десять, девять, ..., ноль - потом удалять.


 
icWasya ©   (2006-04-10 11:58) [8]

>... и обнаружил две неточности.

-Я нашла в Вашем объявлении целых три ошибки!
-Не может быть!- сказал крокодил Гена, он думал, что их там по крайней мере восемнадцать.
(c)Крокодил Гена и его друзья.


 
Poirot ©   (2006-04-10 12:29) [9]

Кстати, ить автор помоему даже знает про эти все огрехи, помнится была веточка где ему всё популярно рассказали, но вот что-то а воз и ныне там :)


 
Суслик ©   (2006-04-10 12:32) [10]

в статьях меня больее всего смущает - фамилии авторов в большинстве своем мне (а я тут ужо 3 года) неизвестны. Откуда они (авторы) вообще берутся?


 
McSimm ©   (2006-04-10 12:43) [11]


> Суслик ©   (10.04.06 12:32) [10]

Местные все в большинстве. "Иных уж нет, а тех - долечивают".

Изредка статьи присылают "посторонние" авторы для продвижения какой-нибудь собственной разработки, таких немного.

Был период, когда за написание статей была возможность получить псевдоматериальные выгоды. В этот период сюда просочилось определенное количество совершенно посторонних авторов, зачастую с плагиатом.


 
SAK ©   (2006-04-10 18:33) [12]

Если так часто возникают вопросы по этой статье, то может её действительно удалить? А то как-то несерьёзно получается. Прочитает начинающий и будет считать что это правильно.



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

Форум: "Прочее";
Текущий архив: 2006.04.30;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.009 c
2-1144209485
de_ICER-T44
2006-04-05 07:58
2006.04.30
Даты в базах DBF


15-1144235817
ilifant
2006-04-05 15:16
2006.04.30
Проблема со справочной системой


1-1142963888
Dublicator
2006-03-21 20:58
2006.04.30
Выравнивание текста по ширине


15-1144695890
Yozh_Programmer
2006-04-10 23:04
2006.04.30
Вход в сервис меню телевизора Toshiba 29JZ7TM (КАК?)


3-1141905472
Xmen
2006-03-09 14:57
2006.04.30
Запрос к базе.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский