Size: a a a

Clojure — русскоговорящее сообщество

2021 January 25

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Sergey Trofimov
скорость оценить не могу, но не сказал бы, что «захлёбывается»
Ну ты видишь что хип растет?
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Не я не против того чтобы веровать в скорость кложи
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Anton Chikin
Ну ты видишь что хип растет?
он сбросился до исходного значения меньше 100 мб, пока я писал сообщение
источник

А

Александр in Clojure — русскоговорящее сообщество
Sergey Trofimov
Чтение 18 млн. строк из 2.5 гб видеофайла в репле за 70 секунд
это какой профилировщик, я в инете посмотрел пару штук один работает но платный, другой не заработала с первого раза разбираться не стал, посоветуйте что нибудь желательно из бесплатного
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Sergey Trofimov
он сбросился до исходного значения меньше 100 мб, пока я писал сообщение
Да но ты прикинь сколько мусора генерится
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
он на каждый чих растёт, потом чистится
и это как бы в любом java приложении так
выделенный размер кучи не меняется же
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Sergey Trofimov
он на каждый чих растёт, потом чистится
и это как бы в любом java приложении так
выделенный размер кучи не меняется же
Так о том и речь что в кложе на каждый чих выделяются тонны объектов
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Anton Chikin
Да но ты прикинь сколько мусора генерится
но не обязательно в кложе,
на чистой яве похожая картинка будет
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
и это ты еще не пытался поменять строку
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
что сразу вызовет взырв в плане аллокаций
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Александр
это какой профилировщик, я в инете посмотрел пару штук один работает но платный, другой не заработала с первого раза разбираться не стал, посоветуйте что нибудь желательно из бесплатного
да это visualvm обычный
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Anton Chikin
и это ты еще не пытался поменять строку
ну скажи, что сделать со строкой, попробуем 😊
источник

А

Александр in Clojure — русскоговорящее сообщество
Sergey Trofimov
да это visualvm обычный
спасибо, пробую))
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
Anton Chikin
Не я не против того чтобы веровать в скорость кложи
про скорость вообще ничего не говорили )
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
тут в clojure дохрена куда расти ) но, например, можно тюнить узкие места используя подходящие абстракции (https://github.com/clojure/core.rrb-vector если хочется поговорить про коллекции)
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Sergey Trofimov
скорость оценить не могу, но не сказал бы, что «захлёбывается»
java code соответствующий
// Decompiling class: user$fn__53668$fn__53669
import clojure.lang.*;

public final class user$fn__53668$fn__53669 extends AFunction
{
   @Override
   public Object invoke(final Object n, final Object _) {
       this = null;
       return Numbers.inc(n);
   }
}


// Decompiling class: user$fn__53668
import java.io.*;
import clojure.lang.*;

public final class user$fn__53668 extends AFunction
{
   public static final Var const__0;
   public static final Var const__1;
   public static final Object const__2;
   public static final Var const__3;
   
   public static Object invokeStatic() {
       final Object rdr = ((IFn)user$fn__53668.const__0.getRawRoot()).invoke("C:\\Users\\Anwender\\Projects\\lucky-website\\dev\\user.clj");
       Object invoke;
       try {
           invoke = ((IFn)user$fn__53668.const__1.getRawRoot()).invoke(new user$fn__53668$fn__53669(), user$fn__53668.const__2, ((IFn)user$fn__53668.const__3.getRawRoot()).invoke(rdr));
       }
       finally {
           ((Reader)rdr).close();
       }
       return invoke;
   }
   
   @Override
   public Object invoke() {
       return invokeStatic();
   }
   
   static {
       const__0 = RT.var("clojure.java.io", "reader");
       const__1 = RT.var("clojure.core", "reduce");
       const__2 = 0L;
       const__3 = RT.var("clojure.core", "line-seq");
   }
}
источник

AB

Alex Bubnov in Clojure — русскоговорящее сообщество
а что вы померить-то хотите в итоге?
источник

AB

Alex Bubnov in Clojure — русскоговорящее сообщество
я что-то нить потерял
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Изначальный тезис был что из-за иммутабельных коллекций кложа дает нехилый оверхед
источник