Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 5 6 7 8 [9] 10   вперед  Ctrl      все
 Re: Delphi 10.4 Sydney  [new]
Dmitry Arefiev
Member

Откуда:
Сообщений: 9856
Так и до машинного кода не далеко ...
4 июн 20, 22:03    [22145938]     Ответить | Цитировать Сообщить модератору
 Re: Delphi 10.4 Sydney  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 4469
Dmitry Arefiev
Так и до машинного кода не далеко ...

Гибкость шаблонов дельфийскими дженериками не заменить.

Сообщение было отредактировано: 4 июн 20, 22:13
4 июн 20, 22:14    [22145949]     Ответить | Цитировать Сообщить модератору
 Re: Delphi 10.4 Sydney  [new]
Dmitry Arefiev
Member

Откуда:
Сообщений: 9856
Так ведь и простоты хочется и скорости компиляции
4 июн 20, 22:28    [22145970]     Ответить | Цитировать Сообщить модератору
 Re: Delphi 10.4 Sydney  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 4469
Dmitry Arefiev
Так ведь и простоты хочется и скорости компиляции

Так это, и просто, и быстро :)
4 июн 20, 22:50    [22145984]     Ответить | Цитировать Сообщить модератору
 Re: Delphi 10.4 Sydney  [new]
Dmitry Arefiev
Member

Откуда:
Сообщений: 9856
Kazantsev Alexey
Dmitry Arefiev
Так ведь и простоты хочется и скорости компиляции

Так это, и просто, и быстро :)

Просто для кого ? Ну может для тебя и просто. Я для среднего дельфиста ?
Быстро на сколько ? Win32 быстр, потому что AST не размером со секвою (в частности). В прочем, я не в курсе ...
4 июн 20, 22:57    [22145988]     Ответить | Цитировать Сообщить модератору
 Re: Delphi 10.4 Sydney  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 4469
Dmitry Arefiev
Просто для кого ? Ну может для тебя и просто. Я для среднего дельфиста ?

Смотря о чём речь. Если о шаблонах на включаемых файлах, то, разумеется, это сложнее, чем дженерики, но не настолько, чтобы при желании в этом не разобраться. Если о шаблонах, как в FPC, то это, пожалуй, было бы даже проще.

Dmitry Arefiev
Быстро на сколько ? Win32 быстр, потому что AST не размером со секвою (в частности)

Насколько? Ну какая там скорость компиляции в строках?

========================================
Delphi 10.4 v27.0.37889.9797 Unknown (EN/EN)
========================================

Windows 32-bit Release - COMPILED [ 0 | 3 | 4 | 1.2 sec]
Windows 32-bit Debug - COMPILED [ 0 | 3 | 4 | 1.7 sec]

Windows 64-bit Release - COMPILED [ 0 | 3 | 10 | 2.9 sec]
Windows 64-bit Debug - COMPILED [ 0 | 3 | 10 | 3.5 sec]

macOS 32-bit Release - COMPILED [ 0 | 6 | 4 | 1.2 sec]
macOS 32-bit Debug - COMPILED [ 0 | 6 | 4 | 1.3 sec]

macOS 64-bit Release - FAIL [ 2 | 6 | 4 | 12.5 sec] // тут линкер не отработал из-за отсутствующего sdk
macOS 64-bit Debug - FAIL [ 2 | 6 | 4 | 12.7 sec]

Linux 64-bit Release - COMPILED [ 0 | 4 | 4 | 13.2 sec]
Linux 64-bit Debug - COMPILED [ 0 | 4 | 4 | 13.4 sec]

Это, примерно, 170KLOC.

Добавил много шаблонного кода, всего получилось около 300KLOC

========================================
Delphi 10.4 v27.0.37889.9797 Unknown (EN/EN)
========================================

Windows 32-bit Release - COMPILED [ 0 | 3 | 24 | 1.5 sec]
Windows 32-bit Debug - COMPILED [ 0 | 3 | 24 | 2.1 sec]

Windows 64-bit Release - COMPILED [ 0 | 3 | 30 | 3.3 sec]
Windows 64-bit Debug - COMPILED [ 0 | 3 | 30 | 4.0 sec]

macOS 32-bit Release - COMPILED [ 0 | 6 | 24 | 2.8 sec]
macOS 32-bit Debug - COMPILED [ 0 | 6 | 24 | 1.6 sec]

macOS 64-bit Release - FAIL [ 2 | 6 | 24 | 13.6 sec]
macOS 64-bit Debug - FAIL [ 2 | 6 | 24 | 13.2 sec]

Linux 64-bit Release - COMPILED [ 0 | 4 | 24 | 14.7 sec]
Linux 64-bit Debug - COMPILED [ 0 | 4 | 24 | 14.5 sec]

з.ы. llvm based компиляторы хоть и тормозные, но памяти потребляют меньше.
5 июн 20, 01:00    [22146018]     Ответить | Цитировать Сообщить модератору
 Re: Delphi 10.4 Sydney  [new]
rgreat
Member

Откуда:
Сообщений: 6019
Kazantsev Alexey
з.ы. llvm based компиляторы хоть и тормозные, но памяти потребляют меньше.
И толку с этого расхода памяти, если классика чуть ли не на порядок быстрей llvm?

Сообщение было отредактировано: 5 июн 20, 03:10
5 июн 20, 03:10    [22146045]     Ответить | Цитировать Сообщить модератору
 Re: Delphi 10.4 Sydney  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 4469
rgreat
И толку с этого расхода памяти, если классика чуть ли не на порядок быстрей llvm?

Это я к разговорам о размерах AST.
5 июн 20, 09:52    [22146172]     Ответить | Цитировать Сообщить модератору
 Re: Delphi 10.4 Sydney  [new]
vavan
Member

Откуда: Казань
Сообщений: 3521
Kazantsev Alexey
llvm based компиляторы хоть и тормозные, но памяти потребляют меньше
да уж, как-то у них все задом наоборот получилось
5 июн 20, 10:32    [22146209]     Ответить | Цитировать Сообщить модератору
 Re: Delphi 10.4 Sydney  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 4469
vavan
да уж, как-то у них все задом наоборот получилось

Не думаю, что так получилось именно у них. У ремобжектов для нативных платформ тоже llvm использутся. Сейчас посморел сколько билдится виндовый hello world в 15 строк - 19 сек.
5 июн 20, 10:58    [22146235]     Ответить | Цитировать Сообщить модератору
 Re: Delphi 10.4 Sydney  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 14193
В какой-то из версий Delphi среда перестала запоминать вкладку настроек (Tools/Options). Вроде в 10.2 это поломали.

Кто знает, в 10.4 не восстановили эту фичу?
9 июн 20, 09:46    [22147804]     Ответить | Цитировать Сообщить модератору
 Re: Delphi 10.4 Sydney  [new]
Sinemurius
Member

Откуда:
Сообщений: 144
defecator
Сергей Фролов
пропущено...
Если лицензия есть, то да


боже мой....


Вот из-за такого "боже мой" мы до сих пор BDE используем в некоторых местах.
9 июн 20, 10:29    [22147831]     Ответить | Цитировать Сообщить модератору
 Re: Delphi 10.4 Sydney  [new]
defecator
Member

Откуда:
Сообщений: 39208
Sinemurius
defecator
пропущено...


боже мой....


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

это из-за собственного нежелания что-то менять
9 июн 20, 10:36    [22147840]     Ответить | Цитировать Сообщить модератору
 Re: Delphi 10.4 Sydney  [new]
X-Cite
Member

Откуда: Минск
Сообщений: 1710
Кто уже поюзал 10.4 под win32/win64
Вылезли какие-нибудь критические вещи в RTL/PPL/FireDAC с которыми текущие проекты начали работать с отклонениями?
9 июн 20, 11:00    [22147864]     Ответить | Цитировать Сообщить модератору
 Re: Delphi 10.4 Sydney  [new]
Сергей Фролов
Member

Откуда:
Сообщений: 1542
defecator
это из-за собственного нежелания что-то менять

Да ты на ходу переобуваешься, как я посмотрю.

defecator
Я не говорил про генерики и прочий подобный дельфовый новомодный шлак
9 июн 20, 11:18    [22147879]     Ответить | Цитировать Сообщить модератору
 Re: Delphi 10.4 Sydney  [new]
defecator
Member

Откуда:
Сообщений: 39208
Сергей Фролов
defecator
это из-за собственного нежелания что-то менять

Да ты на ходу переобуваешься, как я посмотрю.

defecator
Я не говорил про генерики и прочий подобный дельфовый новомодный шлак


слова, выдернутые из контекста, аргументом не являются
9 июн 20, 11:58    [22147926]     Ответить | Цитировать Сообщить модератору
 Re: Delphi 10.4 Sydney  [new]
bk0010
Member

Откуда:
Сообщений: 4957
Sinemurius
Вот из-за такого "боже мой" мы до сих пор BDE используем в некоторых местах.
А в чем проблема? BDE как работал, так и продолжает работать. Новые проекты на нем начинать не стоит, но для переделки старых требуются веские основания.
9 июн 20, 12:07    [22147944]     Ответить | Цитировать Сообщить модератору
 Re: Delphi 10.4 Sydney  [new]
Yoda
Member

Откуда:
Сообщений: 141
X-Cite,

с апдейтом обещают один долгоиграющий фикс
https://www.ideasawakened.com/post/tmonitor-event-stack-fix-by-a-true-delphi-mvp


но я вот своему товарищу показывал, который поел немало собак с PPL
и он уже даже с учетом этого фикса нашел утечку памяти.

так что они там теперь будут дофикшивать свой фикс.
9 июн 20, 15:34    [22148137]     Ответить | Цитировать Сообщить модератору
 Re: Delphi 10.4 Sydney  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 14193
https://www.ideasawakened.com/post/delphi-tip-move-the-instruction-pointer-during-debugging

Если вам необходимо продолжать отладку этой процедуры генерации отчетов, вы можете сбросить указатель инструкций, чтобы перезапустить процедуру генерации отчетов без необходимости начинать новый сеанс отладки и не тратить время на создание файла данных.
...
вы можете легко повторить или пропустить код,


это что-то новое?
или в ранних версиях тоже такое было?
10 июн 20, 11:33    [22148610]     Ответить | Цитировать Сообщить модератору
 Re: Delphi 10.4 Sydney  [new]
ziv-2014
Member

Откуда:
Сообщений: 501
X11
https://www.ideasawakened.com/post/delphi-tip-move-the-instruction-pointer-during-debugging

Если вам необходимо продолжать отладку этой процедуры генерации отчетов, вы можете сбросить указатель инструкций, чтобы перезапустить процедуру генерации отчетов без необходимости начинать новый сеанс отладки и не тратить время на создание файла данных.
...
вы можете легко повторить или пропустить код,


это что-то новое?
или в ранних версиях тоже такое было?

Это вечно!
10 июн 20, 12:20    [22148665]     Ответить | Цитировать Сообщить модератору
 Re: Delphi 10.4 Sydney  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 14193
https://twitter.com/danieleteti/status/1270624736645730304?s=20

К сообщению приложен файл. Размер - 59Kb
10 июн 20, 14:12    [22148779]     Ответить | Цитировать Сообщить модератору
 Re: Delphi 10.4 Sydney  [new]
AWSVladimir
Member

Откуда:
Сообщений: 889
коллеги, объясните мне в чем фича новых рекордов в 10.4 по сравнению с тем, что можно было раньше использовать:
 
 PTRec=^TRec;
 TRec=record
  ...
 end;


Чем новое лучше старого?

старое
 
 TRecManager=class
  procedure Init(pRec:PTRec);
  procedure Done(pRec:PTRec);
 end;

// тоже старое, но по новому выносим процедуры вне класса
  procedure Init(pRec:PTRec);
  procedure Done(pRec:PTRec);


Вот нафига ? За чем это? В чем дает преимущество?
 
TRec=record
 class operator Initianalize (out Dest:TRec);
 class operator Finalize (var Dest:TRec);
 end;


PS:
у меня такое чувство что начинают делать нововведения так же как кот, когда ему нечего делать.

Ведь массив можно создать
MyArr=array[0..100] of TRec
и
MyArr=array[0..100] of PTRec

Объясните в чем действительно новизна?
Нахрена писать в сущность то, что должно управлять этой сущность?

В чем отличие от класса сейчас этих рекордов?
 
 TRec=class
  ...
 end;
10 июн 20, 18:30    [22148956]     Ответить | Цитировать Сообщить модератору
 Re: Delphi 10.4 Sydney  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 4469
AWSVladimir
Вот нафига ? За чем это? В чем дает преимущество?

Init и Done ты должен будешь вызывать сам, а операторы управления вызовет компилятор. Удобно это. И безопасно.
10 июн 20, 18:36    [22148961]     Ответить | Цитировать Сообщить модератору
 Re: Delphi 10.4 Sydney  [new]
rgreat
Member

Откуда:
Сообщений: 6019
AWSVladimir
В чем отличие от класса сейчас этих рекордов?
Разная модель памяти.
У рекорда нет наследования.

Ну и еще много чего разного.
10 июн 20, 18:56    [22148971]     Ответить | Цитировать Сообщить модератору
 Re: Delphi 10.4 Sydney  [new]
AWSVladimir
Member

Откуда:
Сообщений: 889
Kazantsev Alexey
AWSVladimir
Вот нафига ? За чем это? В чем дает преимущество?

Init и Done ты должен будешь вызывать сам, а операторы управления вызовет компилятор. Удобно это. И безопасно.

Хмм, как то странно.
Создание понятно, в момент первичного доступа, а освобождение тогда в какой момент сделает компилятор, если структура сложная, например

TRec=record

PTMainRec=^TMainRec;
TMainRec=record
r1:TRec;

все это обернуто в поинтер, который присвоин списку

Memo1.lines.addObject('My Rec',Pointer(PTMainRec));

Если сделать
Memo1.lines.Clear

компилятор в 10.4 автоматом освободит память TMainRec и TRec вызвав Finalize ?

что то верится с трудом, проверить не могу т.к. руки все не дойдут поставить 10.4
10 июн 20, 19:16    [22148981]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 5 6 7 8 [9] 10   вперед  Ctrl      все
Все форумы / Delphi Ответить