Size: a a a

2020 May 11

AS

Alexey Shumkin in Delphi & Lazarus
Ivan Polyacov
Ну во-первых я смог реализовать на сайте то, что раньше (на Perl) себе позволить не мог. Это подсветка названий в тексте c учётом возможных опечаток, падежей и т.д. А также поиск. А во-вторых (и это критично), сайт перестал тормозить и падать от 5+ запросов в секунду, легко выдерживая 100 RPS.
5+ RPS? Чота мне кажется, дело было не в перле :)
Но ок
источник

IP

Ivan Polyacov in Delphi & Lazarus
Ну 5 - это уже замедление, когда страница отдаётся не за 0.2 сек, а, скажем, за 0.5 - и это уже чувствуется. А 10 - Gateway Timeout.
источник

AS

Alexey Shumkin in Delphi & Lazarus
Ivan Polyacov
Ну 5 - это уже замедление, когда страница отдаётся не за 0.2 сек, а, скажем, за 0.5 - и это уже чувствуется. А 10 - Gateway Timeout.
А сайт на перле был на винде?
источник

IP

Ivan Polyacov in Delphi & Lazarus
Да, на винде. Сколько времени тратится в винде чтобы создать перловый процесс, загрузить несколько сотен модулей, подключиться к БД, а потом всё это подчистить?
источник

AS

Alexey Shumkin in Delphi & Lazarus
Ivan Polyacov
Ну 5 - это уже замедление, когда страница отдаётся не за 0.2 сек, а, скажем, за 0.5 - и это уже чувствуется. А 10 - Gateway Timeout.
А Gateway timeout балансировщик выдаёт?
источник

IP

Ivan Polyacov in Delphi & Lazarus
nginx
источник

A

Anthony in Delphi & Lazarus
Alexey Shumkin
Тебе уже сказал Виктор
Но читай внимательнее, что́ написано
видимо мы по разному читаем значение слова. В начале исполнения функции, если к переменой не присвоено значение, то она undefined. После цикла будет уже определена. Или укажите где описывается иное, вроде тут совсем простая логика, но я с вами (+@vakselod ) не согласен. Алсо, предупреждение о undefined переменной в дельфи больше как заглушка, тк по ссылке от Igor указан код, где реально не известно, какой выйдет результат. В моем случае, цикл выполняется с пустой операцией. Во время цикла переменная получает значение и содержит его, а значит слово undefined уже не применимо.
источник

RS

Renat Suleymanov in Delphi & Lazarus
👍
источник

VA

Viktor Akselrod in Delphi & Lazarus
Anthony
видимо мы по разному читаем значение слова. В начале исполнения функции, если к переменой не присвоено значение, то она undefined. После цикла будет уже определена. Или укажите где описывается иное, вроде тут совсем простая логика, но я с вами (+@vakselod ) не согласен. Алсо, предупреждение о undefined переменной в дельфи больше как заглушка, тк по ссылке от Igor указан код, где реально не известно, какой выйдет результат. В моем случае, цикл выполняется с пустой операцией. Во время цикла переменная получает значение и содержит его, а значит слово undefined уже не применимо.
если ты не согласен с документацией, то мне больше нечего добавить
источник

A

Anthony in Delphi & Lazarus
Viktor Akselrod
если ты не согласен с документацией, то мне больше нечего добавить
с той что по ссылке embarcadero - согласен, и там они указывают пример - когда переменная возможно будет не определена. ок
источник

RS

Renat Suleymanov in Delphi & Lazarus
Viktor Akselrod
если ты не согласен с документацией, то мне больше нечего добавить
scope requirements

The control variable has to be local inside nested routines. A routine is nested, if routine variables tagged with the modifier is nested can store its address. Nevertheless, a global variable is always allowed as a control variable.
immutable requirement

While inside in a loop, it is imperative not to mess with the loop variable. Plain assignments – e.g. controlVariable := 2 – are caught by the compiler reporting “Illegal assignment to for-loop variable "controlVariable"”. However, indirect manipulations are not prevented:
 Не нашел информации о том, что после цикла переменная не определена
https://wiki.freepascal.org/For
источник

RS

Renat Suleymanov in Delphi & Lazarus
Хотя вот есть упоминание:
Assuming no other manipulations were made, after the loop the value of controlVariable will be final, unless the the proper condition was not met from the start, then it is undefined (remains unchanged).
источник

RS

Renat Suleymanov in Delphi & Lazarus
А там на русском есть, но более кратко ) https://wiki.freepascal.org/For/ru
источник

VA

Viktor Akselrod in Delphi & Lazarus
Renat Suleymanov
scope requirements

The control variable has to be local inside nested routines. A routine is nested, if routine variables tagged with the modifier is nested can store its address. Nevertheless, a global variable is always allowed as a control variable.
immutable requirement

While inside in a loop, it is imperative not to mess with the loop variable. Plain assignments – e.g. controlVariable := 2 – are caught by the compiler reporting “Illegal assignment to for-loop variable "controlVariable"”. However, indirect manipulations are not prevented:
 Не нашел информации о том, что после цикла переменная не определена
https://wiki.freepascal.org/For
я не берусь говорить про FPC, тк это вне моей компетенции
документация справедлива для Delphi
смысл в том, чтобы дать компилятору генерировать более оптимальный код (о чем писалось ранее)
источник

A

Anthony in Delphi & Lazarus
Renat Suleymanov
Хотя вот есть упоминание:
Assuming no other manipulations were made, after the loop the value of controlVariable will be final, unless the the proper condition was not met from the start, then it is undefined (remains unchanged).
о чем и речь, в моем случае она всегда будет final, потому что proper condition was met)
источник

VA

Viktor Akselrod in Delphi & Lazarus
Anthony
о чем и речь, в моем случае она всегда будет final, потому что proper condition was met)
твой изначальный код написан на делфи?
источник

A

Anthony in Delphi & Lazarus
Viktor Akselrod
твой изначальный код написан на делфи?
нет, на lazarus, началось всё с утечки, которую сообщал heaptrc
источник

VA

Viktor Akselrod in Delphi & Lazarus
Anthony
нет, на lazarus, началось всё с утечки, которую сообщал heaptrc
по-моему, все логично. пишешь на Delphi - смотри справку Delphi, пишешь на FPC - смотри справку по FPC
все остальные додумывания и догадки ни к чему.

ps я тебе отвечал именно на скриншот с делфи кодом.
источник

Дt

Дмитрий texnix 🇨🇳... in Delphi & Lazarus
источник

Дt

Дмитрий texnix 🇨🇳... in Delphi & Lazarus
поставил свежую винду, свежую делфи, а она не запускается (
источник