Pull to refresh

Comments 11

Erlang все же по своему прекрасен. Но сейчас уже есть Rust.
Rust может хорошо помочь Erlang'у в тяжелых случаях.

всётаки у них немного разные философии

В то время будущее казалось невероятным. Виртуальная машина недавно получила поддержку SMP, но чтобы действительно использовать все процессоры, приходилось запускать на одном компьютере несколько виртуальных машин.
Не ради троллинга, но ради фактов. Я без особых сложностей гружу свой i7 4x2 (Ht) ядер на Delphi, в программе много мест распараллеливания, очень помогает на загруженных местах, вижу реальное ускорение до 5-6 раз обычно. Делается, в простом случае, одной строкой кода.
Можно ли попросить пару кусочков кода с примерами? Давно я не писал на Delphi, хочется посмотреть, как там сейчас дела.
Проще, наверно, ссылки:
www.proghouse.ru/programming/36-delphi-xe7-ppl
docwiki.embarcadero.com/RADStudio/Rio/en/Using_the_Parallel_Programming_Library
www.youtube.com/watch?v=x8S5b0peu7U
Мы у себя аналог TParallel.For используем (пример — многопоточное открытие + сложный парсинг файлов + вычитывание, у меня ускорило обработку раз в 6):
  Parallel.ForI(FirstFile, LastFile,
   procedure (i1, i2, tdi: integer)
   var
    i: integer;
   begin
    for i := i1 to i2 do
     EnsureFileOpened(i);
   end);
Для лучшего понимания: EnsureFileOpened — это тысяч 15 строк кода, завернутых одной строкой (Parallel.ForI) в мультипоточный цикл.
А в каких областях до сих пор используется Delphi?
Всяко бывает. Конкретно у нас — медицина. Несколько крупных проектов. Знаю про проекты для атомных станций, заправок, аэропортов.

Очень интересный пост и приятный перевод, спасибо большое.

Лично для меня Erlang стал очень знаковым опытом. Использовал его в нескольких проектах. Жаль, что сейчас не могу применить. Тем не менее, стараюсь следить за языком и его технологиями. В свое время успешно состыковал erlang с golang. (если кому вдруг потребуется — github.com/halturin/ergonode)
Sign up to leave a comment.