Size: a a a

2021 January 14

PR

Peter Rezikov in pro.elixir
V
какие реальные минусы у JVM кроме жора памяти?
Слышал что BEAM шедулеры переключаются между процессами через заданное время при любом раскладе (ну в зависимости от priority процесса), а JVM даже с аккой так не умеет, поэтому в в системе с кучей процессов beam делает jvm+akka. Поправьте если я не прав.
источник

LL

Lama Lover in pro.elixir
Peter Rezikov
Слышал что BEAM шедулеры переключаются между процессами через заданное время при любом раскладе (ну в зависимости от priority процесса), а JVM даже с аккой так не умеет, поэтому в в системе с кучей процессов beam делает jvm+akka. Поправьте если я не прав.
Не уверен что в akka кооперативная многозадачность
источник

PR

Peter Rezikov in pro.elixir
> . Go has goroutines, Scala has Akka library and other programming languages start to provide libraries to mimic this. But Erlang gives you also preemptive scheduling, which is really unique feature.

https://tkowal.wordpress.com/2015/01/27/the-unintuitive-latency-over-throughput-problem/

но статья 2015 года, возможно уже такое запилили в акке, но сходу не гуглится.
источник

PR

Peter Rezikov in pro.elixir
тоесть если все так, то на low lattancy системах beam должен делать jvm + akka очень хорошо при больших нагрузках
источник

ML

Maksim Lapshin in pro.elixir
Peter Rezikov
тоесть если все так, то на low lattancy системах beam должен делать jvm + akka очень хорошо при больших нагрузках
источник

AB

Alex Bubnov in pro.elixir
Lama Lover
Не уверен что в akka кооперативная многозадачность
https://doc.akka.io/docs/akka/current/typed/dispatchers.html#blocking-needs-careful-management
говорят, заворачивайте блокирующие операции в future и пихайте его на отдельный тредпул
кооперативная
источник

AM

Azat Murtazin in pro.elixir
Жуткая история
источник
2021 January 15

DR

Dmitry Russ (Aleksan... in pro.elixir
Привет!

Есть среди элексироводов, кто-нибудь, кто так же хорошо разбирается в Rust? Или точнее в том, как динамическая линковка библиотек работает в Mac OS X?
Так как проблема на стыке компиляции нифа и Rust, то напишу и здесь.
У меня такая ошибка происходит:

Failed to load NIF library: \'dlopen(app_nif.so, 2): Library not loaded: @loader_path/dep_lib.dylib\n  Referenced from: app_nif.so\n  Reason: image not found\'


При том, код на Linux-е работает и единственная разница - это build.rs скрипт:

us
e std::env;
use std::path::Path;

fn main() {
 let dir = env::var("CARGO_MANIFEST_DIR").unwrap();

 if cfg!(target_vendor = "apple") {
   println!(
     "cargo:rustc-link-search={}",
     Path::new(&dir).join("dep_app/osx/lib").display()
   );
 } else {
   println!(
     "cargo:rustc-link-search={}",
     Path::new(&dir).join("dep_app/gnulinux/lib").display()
   );
 }
}

Где для Mac OS X используются те же библиотеки, но только .dylib.
Пытался гуглить проблему - не помогло. Попробовал поменять путь через install_name_tool на абсолютный - загрузка библиотеки просто зависает навечно.
Человеку, который поможет решить эту проблему, я готов заплатить или прислать книгу по Elixir 🙂
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Dmitry Russ (Aleksandrov)
Привет!

Есть среди элексироводов, кто-нибудь, кто так же хорошо разбирается в Rust? Или точнее в том, как динамическая линковка библиотек работает в Mac OS X?
Так как проблема на стыке компиляции нифа и Rust, то напишу и здесь.
У меня такая ошибка происходит:

Failed to load NIF library: \'dlopen(app_nif.so, 2): Library not loaded: @loader_path/dep_lib.dylib\n  Referenced from: app_nif.so\n  Reason: image not found\'


При том, код на Linux-е работает и единственная разница - это build.rs скрипт:

us
e std::env;
use std::path::Path;

fn main() {
 let dir = env::var("CARGO_MANIFEST_DIR").unwrap();

 if cfg!(target_vendor = "apple") {
   println!(
     "cargo:rustc-link-search={}",
     Path::new(&dir).join("dep_app/osx/lib").display()
   );
 } else {
   println!(
     "cargo:rustc-link-search={}",
     Path::new(&dir).join("dep_app/gnulinux/lib").display()
   );
 }
}

Где для Mac OS X используются те же библиотеки, но только .dylib.
Пытался гуглить проблему - не помогло. Попробовал поменять путь через install_name_tool на абсолютный - загрузка библиотеки просто зависает навечно.
Человеку, который поможет решить эту проблему, я готов заплатить или прислать книгу по Elixir 🙂
dylib -> cdylib в конфиге где crate-type
источник

DP

Dmitry Ponyatov in pro.elixir
Alexis IV Mobius
ну, что-то что-то, зависит от того, как мы вообще оцениваем merit языков программирования.
Мне кажется, что язык программирования - это в первую очередь язык, то есть его элегантность имеет мало смысла, в первую очередь на нём должно быть удобно выражать мысли.
Лисп в этом смысле даже на латынь не тянет.
Лисп — чистая матерщина, только скобки на нужные слова заменить
источник

DP

Dmitry Ponyatov in pro.elixir
Alex Bubnov
а это зависит не от лиспа в целом, а от того, какой лисп.
ну то есть, если мне предложить что-нибудь писать на cl или emacs lisp, я в довольно резкой форме откажусь.
а на кложе, к дизайну которой были приложены осмысленные усилия, я уже согласен что-то делать, если jvm под ногами не будет мешаться.
пора писать Elixisp на Elixir ? надо подумать...
источник

DP

Dmitry Ponyatov in pro.elixir
источник

БЁ

Борщевик Ёбаный... in pro.elixir
Peter Rezikov
Слышал что BEAM шедулеры переключаются между процессами через заданное время при любом раскладе (ну в зависимости от priority процесса), а JVM даже с аккой так не умеет, поэтому в в системе с кучей процессов beam делает jvm+akka. Поправьте если я не прав.
Сначала бред преподносится как утверждение, а потом поправьте если я не прав?
источник

SZ

Sergei Zobov in pro.elixir
Борщевик Ёбаный
Сначала бред преподносится как утверждение, а потом поправьте если я не прав?
дядь, не будь токсичным.
Чувак ничего обидного тебе не писал. Будь добрее.
Если он не прав, объясни ему в чём.
источник

AP

Andrey Pavlov in pro.elixir
Нужно больше токсичности!
источник

X

XÆA-XII in pro.elixir
Andrey Pavlov
Нужно больше токсичности!
Это не чат по крестам
источник

X

XÆA-XII in pro.elixir
И уж точно не по джаваскрипту
источник

AP

Andrey Pavlov in pro.elixir
всегда можно скатиться
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Peter Rezikov
Слышал что BEAM шедулеры переключаются между процессами через заданное время при любом раскладе (ну в зависимости от priority процесса), а JVM даже с аккой так не умеет, поэтому в в системе с кучей процессов beam делает jvm+akka. Поправьте если я не прав.
Отличия в переключениях видимо верны, но как из этого делается вывод о том, что beam делает jvm- не очень понятно. Ну не переключается всегда одинаково - ну и хрен с ним. Зато работает быстрее
источник

PR

Peter Rezikov in pro.elixir
Źmićer Rubinštejn
Отличия в переключениях видимо верны, но как из этого делается вывод о том, что beam делает jvm- не очень понятно. Ну не переключается всегда одинаково - ну и хрен с ним. Зато работает быстрее
Все верно на вычислительных задачах Jvm будет лучше а на low latency beam
источник