Re[38]: MIT переходи со схемы на...
От: Andrei N.Sobchuck Украина www.smalltalk.ru
Дата: 05.12.06 08:39
Оценка: +3 -3
Здравствуйте, Sinclair, Вы писали:

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

EC>>И главное — короче.
S>
S>Console.Write((new Regex(pattern)).Matches(File.ReadAllText(file)).Count);
S>

S>Зато это поймешь даже ты. А вот PhantomIvan пришлось объяснять, что значат твои кракозяблы.

Понять то я, например, пойму, но сходу не напишу. Но это мелочь. Ибо, мне думается, что в твоей программе функциональный баг. Который вылезет если им посчитать кол-во строк в 10ти гиговом файле. Короче, шелу — скриптинг, шарпу — шарпинг
http://www.smalltalk.ru | << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Я ненавижу Hibernate
Автор: Andrei N.Sobchuck
Дата: 08.01.08
!
Re[40]: MIT переходи со схемы на...
От: Andrei N.Sobchuck Украина www.smalltalk.ru
Дата: 05.12.06 08:43
Оценка:
Здравствуйте, PhantomIvan, Вы писали:

PI>я имел в виду, дотнет будет быстрее джавы, а не "дотнет будет быстрее эрланга"


не томи, причину назови
http://www.smalltalk.ru | << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Я ненавижу Hibernate
Автор: Andrei N.Sobchuck
Дата: 08.01.08
!
Re[36]: MIT переходи со схемы на...
От: Курилка Россия http://kirya.narod.ru/
Дата: 05.12.06 08:47
Оценка:
Здравствуйте, Андрей Хропов, Вы писали:

АХ>Здравствуйте, Курилка, Вы писали:


К>>Вообще одним из тех, кто тебе отвечал и одним из первых, упомянувших про эту библиотеку был я

К>>Если по сути — интересно, вроде как всего в 2 раза медленней Эрланга.

АХ>Не знаю как всего в два раза, а здесь Scala совершенно ужасно тормозит (в 10 раз медленнее Erlang с жутким перерасходом памяти или в 60 раз без него). Да, на первом месте Mozart/Oz .


АХ>Ща проведу замеры для Windows...


А ты код смотрел скаловский? Там акторов и в помине нет, так что снова некорректное сравнение
Re[36]: MIT переходи со схемы на...
От: Курилка Россия http://kirya.narod.ru/
Дата: 05.12.06 08:49
Оценка:
Здравствуйте, Андрей Хропов, Вы писали:

АХ>Здравствуйте, Курилка, Вы писали:


К>>Вообще одним из тех, кто тебе отвечал и одним из первых, упомянувших про эту библиотеку был я

К>>Если по сути — интересно, вроде как всего в 2 раза медленней Эрланга.

АХ>Не знаю как всего в два раза, а здесь Scala совершенно ужасно тормозит (в 10 раз медленнее Erlang с жутким перерасходом памяти или в 60 раз без него). Да, на первом месте Mozart/Oz .


АХ>Ща проведу замеры для Windows...


Хотя вру
Просмотрел, просто ресив там не выделяется
Какие-то страшные циферки, однако
Re[37]: MIT переходи со схемы на...
От: Gajdalager Украина  
Дата: 05.12.06 08:50
Оценка:
Здравствуйте, Курилка, Вы писали:
К>А ты код смотрел скаловский? Там акторов и в помине нет, так что снова некорректное сравнение
Отчего же?
/* The Computer Language Shootout
   http://shootout.alioth.debian.org/
   contributed by Philipp Haller
*/

import scala.actors._; import scala.actors.Actor._

object message {
  def main(args: Array[String]) = {
    val n = Integer.parseInt(args(0)); val nActors = 500; val finalSum = n * nActors
    Scheduler.impl = new SingleThreadedScheduler

    def beh(next: Actor, sum: int): unit =
      react {
        case value: int =>
          val j = value + 1; val nsum = sum + j
          if (next == null && nsum >= finalSum) {
            Console.println(nsum)
            System.exit(0)
          }
          else {
            if (next != null) next ! j
            beh(next, nsum)
          }
      }

    def actorChain(i: Int, a: Actor): Actor =
      if (i > 0) actorChain(i-1, actor(beh(a, 0))) else a

    val firstActor = actorChain(nActors, null)
    var i = n; while (i > 0) { firstActor ! 0; i = i-1 }
  }
}

http://shootout.alioth.debian.org/gp4sandbox/benchmark.php?test=message&amp;lang=scala&amp;id=2
Re[40]: MIT переходи со схемы на...
От: Курилка Россия http://kirya.narod.ru/
Дата: 05.12.06 09:21
Оценка:
Здравствуйте, PhantomIvan, Вы писали:

PI>>>там обычные потоки из джавы?

PI>>>зуб даю, быстрее будет
К>>Нет там потоков.
К>>В том весь и смысл, что параллельность получается не на потоках ОС, т.е. нет постоянных переключений контекста, что позволяет ускорить работу приложения (при наличии нескольких процессов).
PI>я имел в виду, дотнет будет быстрее джавы, а не "дотнет будет быстрее эрланга"

Да вопрос-то как раз в том, что там нет потоков в этих скаловских акторах. Хотя по идее есть вариант реализации на тредах, но он реально безпоточному сливает (на очень большом числе процессов). Посмотри ту же инфу, что Мартин Одерски приводил (там графики были, насколько помню).
Почитаешь — было бы интересно послушать результаты
И интересно было бы увидеть эрланговскую модель на статически типизированном языке. Причём не только посылку сообщений (что есть в скале), но и хотябы часть инфраструктуры (как минимум взаимодействие в рамках больше чем одной ВМ)
Re[41]: MIT переходи со схемы на...
От: Mirrorer  
Дата: 05.12.06 09:28
Оценка:
Здравствуйте, Курилка, Вы писали:

К>И интересно было бы увидеть эрланговскую модель на статически типизированном языке. Причём не только посылку сообщений (что есть в скале), но и хотябы часть инфраструктуры (как минимум взаимодействие в рамках больше чем одной ВМ)

Эх. Как раз хочу таким заняться. Не сей секунд канеш, но в принципе вот
... << RSDN@Home 1.2.0 Marilyn Manson — Tainted Love >>
Re[41]: MIT переходи со схемы на...
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 05.12.06 09:29
Оценка:
Здравствуйте, Курилка, Вы писали:

К>Да вопрос-то как раз в том, что там нет потоков в этих скаловских акторах. Хотя по идее есть вариант реализации на тредах, но он реально безпоточному сливает (на очень большом числе процессов). Посмотри ту же инфу, что Мартин Одерски приводил (там графики были, насколько помню).

К>Почитаешь — было бы интересно послушать результаты
К>И интересно было бы увидеть эрланговскую модель на статически типизированном языке. Причём не только посылку сообщений (что есть в скале), но и хотябы часть инфраструктуры (как минимум взаимодействие в рамках больше чем одной ВМ)

Ну, пытаемся потихоньку. И пример Одерски с передачей токенов был сделан и пропускная способность была замерена. Пока на C++, а со временем на что-нибудь управляемое, со сборкой мусора переползем.


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[42]: MIT переходи со схемы на...
От: Курилка Россия http://kirya.narod.ru/
Дата: 05.12.06 09:34
Оценка:
Здравствуйте, Mirrorer, Вы писали:

M>Здравствуйте, Курилка, Вы писали:


К>>И интересно было бы увидеть эрланговскую модель на статически типизированном языке. Причём не только посылку сообщений (что есть в скале), но и хотябы часть инфраструктуры (как минимум взаимодействие в рамках больше чем одной ВМ)

M>Эх. Как раз хочу таким заняться. Не сей секунд канеш, но в принципе вот

На чём?
Re[42]: MIT переходи со схемы на...
От: Курилка Россия http://kirya.narod.ru/
Дата: 05.12.06 09:37
Оценка:
Здравствуйте, eao197, Вы писали:

E>Ну, пытаемся потихоньку. И пример Одерски с передачей токенов был сделан и пропускная способность была замерена. Пока на C++, а со временем на что-нибудь управляемое, со сборкой мусора переползем.


Т.е. это практически один в один Скаловский вариант? Сообщения передаются в рамках одного процесса ОС?
Куда заглянуть, чтобы посмотреть исходники механизма "посылальщика"?
Re[43]: MIT переходи со схемы на...
От: Mirrorer  
Дата: 05.12.06 09:47
Оценка:
Здравствуйте, Курилка, Вы писали:

К>>>И интересно было бы увидеть эрланговскую модель на статически типизированном языке. Причём не только посылку сообщений (что есть в скале), но и хотябы часть инфраструктуры (как минимум взаимодействие в рамках больше чем одной ВМ)

M>>Эх. Как раз хочу таким заняться. Не сей секунд канеш, но в принципе вот

К>На чём?


Пока не решил. Врядли Haskell, хотя идея довольно шизова и этим мне нравится
Либо Nermele(что скорее всего, потому что дот нет) либо Scala либо Oz либо Qi(правда он строго типизированный, но не статически вроде)
В общем еще смотрю, где будет это проще сделать. Да и сам Erlang тоже ковырять еще надо.
... << RSDN@Home 1.2.0 Трек 1 >>
Re[43]: MIT переходи со схемы на...
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 05.12.06 09:48
Оценка: 1 (1)
Здравствуйте, Курилка, Вы писали:

E>>Ну, пытаемся потихоньку. И пример Одерски с передачей токенов был сделан и пропускная способность была замерена. Пока на C++, а со временем на что-нибудь управляемое, со сборкой мусора переползем.


К>Т.е. это практически один в один Скаловский вариант? Сообщения передаются в рамках одного процесса ОС?

К>Куда заглянуть, чтобы посмотреть исходники механизма "посылальщика"?

Вот код этого примера. Остальные тесты производительности в дистрибутиве.

Уж не знаю, насколько это точно соответствует Scala, поскольку мы его написали практически сразу как ты дал ссылку на работу Одерски. Но, вроде как похоже


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[39]: MIT переходи со схемы на...
От: PhantomIvan  
Дата: 05.12.06 09:51
Оценка:
EC>>>С той разницей, что это просто набивается в консоли, не требует компиляции и легко отлаживется.
EC>>>И главное — короче.
S>>
S>>Console.Write((new Regex(pattern)).Matches(File.ReadAllText(file)).Count);
S>>

S>>Зато это поймешь даже ты. А вот PhantomIvan пришлось объяснять, что значат твои кракозяблы.

ANS>Понять то я, например, пойму, но сходу не напишу. Но это мелочь. Ибо, мне думается, что в твоей программе функциональный баг. Который вылезет если им посчитать кол-во строк в 10ти гиговом файле.

что-то вроде
mutable i = 0;
regexp match(file.ReadLine())
{
    | "regexp here" => ++i
    | _ => ()
}
Console.WriteLine(i);

ещё понятнее, не так ли?
и обсчитает хоть 100-гиговый файл

ANS> Короче, шелу — скриптинг, шарпу — шарпинг

не согласен
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[40]: MIT переходи со схемы на...
От: PhantomIvan  
Дата: 05.12.06 10:01
Оценка:
упс
PI>
    mutable i = 0;
    mutable line;
    using (reader = TextReader(file))
        while (line = reader.ReadLine(); line != null)
            regexp match(line)
            {
                | "regexp here" => ++i
                | _ => ()
            }
    Console.WriteLine(i);
PI>

шото типа этого
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[41]: MIT переходи со схемы на...
От: PhantomIvan  
Дата: 05.12.06 10:03
Оценка:
PI>>я имел в виду, дотнет будет быстрее джавы, а не "дотнет будет быстрее эрланга"

ANS>не томи, причину назови


причина известна
а подтверждение — рядом в теме Андрея Хропова
([Benchmark] Mini: shootout.cheap-concurrency : C#'s System.T
Автор: Андрей Хропов
Дата: 05.12.06
)
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[44]: MIT переходи со схемы на...
От: Курилка Россия http://kirya.narod.ru/
Дата: 05.12.06 10:04
Оценка:
Здравствуйте, Mirrorer, Вы писали:

M>Здравствуйте, Курилка, Вы писали:


К>>>>И интересно было бы увидеть эрланговскую модель на статически типизированном языке. Причём не только посылку сообщений (что есть в скале), но и хотябы часть инфраструктуры (как минимум взаимодействие в рамках больше чем одной ВМ)

M>>>Эх. Как раз хочу таким заняться. Не сей секунд канеш, но в принципе вот

К>>На чём?


M>Пока не решил. Врядли Haskell, хотя идея довольно шизова и этим мне нравится

Это была бы реально жесть
M>Либо Nermele(что скорее всего, потому что дот нет) либо Scala либо Oz либо Qi(правда он строго типизированный, но не статически вроде)
А разве в оз нету поддержки конкарренси? Вроде это одна из фич...
По идее на лиспе есть потуги организовать что-то типа эрланговских процессов :
http://www.mu.dk/cl-muproc
http://www.dirkgerrits.com/programming/erlisp/
Но тут статики не получится, да и на Qi тоже, там же не обязательна типизация.
M>В общем еще смотрю, где будет это проще сделать. Да и сам Erlang тоже ковырять еще надо.
Весь вопрос ЧТО сделать
Т.е. мне вот интересно — возможно ли вообще эрланговскую модель без динамики получить?
Re[40]: MIT переходи со схемы на...
От: Andrei N.Sobchuck Украина www.smalltalk.ru
Дата: 05.12.06 10:04
Оценка: +1
Здравствуйте, PhantomIvan, Вы писали:

PI>regexp match(file.ReadLine())


PI>ещё понятнее, не так ли?


не так. мне не понятна семантика. Оно что, вызывает ReadLine до получения EOF? В доке сказано, что оно принимает выражение вычисляемое в строку и не сказано, что это выражение вычисляется до опупения.

Опять баг?
http://www.smalltalk.ru | << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Я ненавижу Hibernate
Автор: Andrei N.Sobchuck
Дата: 08.01.08
!
Re[39]: MIT переходи со схемы на...
От: Cyberax Марс  
Дата: 05.12.06 10:10
Оценка: +2 :))
Курилка wrote:
> А во мнезии (эрланговская базка данных) репликация одна из первейших фич.
Оффтопик: хорошее название для базы данных
Posted via RSDN NNTP Server 2.1 beta
Sapienti sat!
Re[41]: MIT переходи со схемы на...
От: Cyberax Марс  
Дата: 05.12.06 10:12
Оценка: +1
Курилка wrote:
> И интересно было бы увидеть эрланговскую модель на статически
> типизированном языке. Причём не только посылку сообщений (что есть в
> скале), но и хотябы часть инфраструктуры (как минимум взаимодействие в
> рамках больше чем одной ВМ)
Спроси у eao197 — у него фактически это уже сделано для С++ в виде
SObjectizer.
Posted via RSDN NNTP Server 2.1 beta
Sapienti sat!
Re[45]: MIT переходи со схемы на...
От: Mirrorer  
Дата: 05.12.06 10:24
Оценка:
Здравствуйте, Курилка, Вы писали:

К>А разве в оз нету поддержки конкарренси? Вроде это одна из фич...

Там какая-то своя модель. Насколько я понял, она чем-то отличается от Эрланга. Но надо еще смотреть. Но врать не буду. Мое знакомство с Oz закончилось просмотром по диагонали их книги.

К>По идее на лиспе есть потуги организовать что-то типа эрланговских процессов :

К>http://www.mu.dk/cl-muproc
К>http://www.dirkgerrits.com/programming/erlisp/
К>Но тут статики не получится, да и на Qi тоже, там же не обязательна типизация.
Разве ? Ну м.б. я ж говорю, надо смотреть что да как.
Я вообще смотрю больше на языки с макросами. Чтобы результат был не сильно ужасным. Но исследование языков очень уж затягивает и отвлекает от идеи

К>Весь вопрос ЧТО сделать

К>Т.е. мне вот интересно — возможно ли вообще эрланговскую модель без динамики получить?
А мне вот это тоже интересно Я думаю в принципе можно. Но каким образом, и сколько на это понадобится сил —
... << RSDN@Home 1.2.0 Sting — Fields Of Gold >>
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.