@scala_ru

Страница 696 из 1499
Kirill
24.05.2017
18:13:25
одмены, не выписывайте, кырыл обижен просто
Не можешь ничего сделать не на своей территории huh??

KrivdaTheTriewe
24.05.2017
18:13:39
это жопа, а не быстро) ща
чому жопа, сифор же быстрый

Митко Соловец?
24.05.2017
18:13:41
Kirill
24.05.2017
18:14:08
не убивай плес, умоляю
Я подумаю, а ты в инстаграме принесешь извинения?

Google
Митко Соловец?
24.05.2017
18:15:02
я принесу асинхронные извинения

Kirill
24.05.2017
18:16:30
чего взъелся?)
Ну дык банхаммером мне угрожал, к виску приставлял

Nikolay
24.05.2017
18:16:53
ну так решайте лично

Kirill
24.05.2017
18:17:40
? кто-то не понимает сарказма

Mikhail
24.05.2017
18:18:40
чому жопа, сифор же быстрый
сфор не быстрый, а обычный вайл. но он тут не при чем. 1. когда есть массив байт его засовать в другой массив надо не циклом, а System.arraycopy и это основной косяк этого куска кода 2. Bytes.toBytes это что за функция? как работает? (может важно, а может нет) 3. если хочется еще быстрее надо держать буфер Array[Byte](8) для всех элементов и в него айтем складывать, а его потом см. п. 1 4. если еще быстрее, то избавиться от буфера и сразу с оффсетом складывать дабл в итоговый массив

Nikolay
24.05.2017
18:20:11
? кто-то не понимает сарказма
мамка в детстве уронила

Mikhail
24.05.2017
18:20:18
Mikhail
24.05.2017
18:21:33
Да, я замечание понял, с эррей копи ты прав
я и по остальным пунктам прав ?

KrivdaTheTriewe
24.05.2017
18:24:18
я и по остальным пунктам прав ?
А как оно складывать будет? Если сразу даблами

Google
KrivdaTheTriewe
24.05.2017
18:27:06
я и по остальным пунктам прав ?
val binArray = new Array[Byte](vec.length * java.lang.Double.SIZE) cfor(0)(_ < vec.length, _ + 1) { i => val tmp = Bytes.toBytes(vec.getDouble(i)) System.arraycopy(tmp, 0, binArray, i * java.lang.Double.SIZE, java.lang.Double.SIZE) }

Mikhail
24.05.2017
18:27:20
А как оно складывать будет? Если сразу даблами
var itemOffset = 0 cfor{ val double:Double = nextDouble val long:Long = Double.doubleToLongBits(double) output(itemOffset + 0) = (byte)(long >>> 56) ... +7 lines itemOffset += 8 goto 1st line in cfor }

быстрее чем это на жвм стандартными средствами уже не получится

KrivdaTheTriewe
24.05.2017
18:28:22
но за system.aarraycopy спасибо, я про такое или не знал, или позабыл

Mikhail
24.05.2017
18:30:27
но за system.aarraycopy спасибо, я про такое или не знал, или позабыл
ну собственно остальные излишества наверное тебе и не критичны будут) но изза вложенного цикла по буферу твой кусок был адски медленный

Mikhail
24.05.2017
18:32:01
это смотря как arraycopy по стандарту описан)
wat? там же аналог memcpy под капотом

KrivdaTheTriewe
24.05.2017
18:43:00
wat? там же аналог memcpy под капотом
ну вот memcpy не обязан поидее копировать целиком) хотя на современных платформах, я думаю именно это он и делает

KrivdaTheTriewe
24.05.2017
18:44:47
это сейчас было в духе Дружко шоу ?
эх, плохо без знания интерналсов

Mikhail
24.05.2017
18:47:51
эх, плохо без знания интерналсов
ерунда. достаточно принципы помнить. в 99.99999% случаях деталями можно пренебречь на сегодняшний день и уж тем более на жвм. достаточно помнить, что циклом массивы не стоит копировать и не использовать for в скале если нужна быстрая итерация)

KrivdaTheTriewe
24.05.2017
19:32:20
https://habrahabr.ru/company/mailru/blog/329294/ для скалы есть подобного рода статья ?

Henadz
24.05.2017
19:33:00
KrivdaTheTriewe
24.05.2017
19:34:44
нуждаются и ещё как

Nikolay
24.05.2017
19:37:37
Да были вроде статьи про то во сколько строчек можно в скале написать то да сё

Google
folex
24.05.2017
19:41:02
http://eax.me/scala-doubts/ такую знаю :)

Она конечно не про описание языка, но тоже пиар :)

Nick
24.05.2017
19:41:53
https://habrahabr.ru/company/mailru/blog/329294/ для скалы есть подобного рода статья ?
почему люди в комментах не понимают, что на скале писать можно как на джаве?

KrivdaTheTriewe
24.05.2017
19:43:13
почему люди в комментах не понимают, что на скале писать можно как на джаве?
про интероп 100 процентов очень весело , при этом для скалы есть руководства по интеропу

а у котлина будет игра в минера

Nick
24.05.2017
19:46:05
Ещё прикольно писать скала для фана, Котлин для прода. Мол стабильнее)

folex
24.05.2017
19:49:23
> [DSL](C:\Users\Desktop\Cloud Mail.Ru\Mail — Почему нужно полностью переходить на Kotlin\в Kotlin) %)

Будет забавно, если котлин покажет джавистам лучший мир, а потом они увидят скалу, и уже подготовленные разом на неё уйдут! :D

KrivdaTheTriewe
24.05.2017
19:50:27
мне кажется скалаплагин будет платитным

folex
24.05.2017
19:51:21
Это будет очень грустно. Можно будет написать им коллективное письмо тогда :)

Интересно, какую роль скала сыграла в создании котлина

https://discuss.kotlinlang.org/t/history-of-kotlin-language/2161/5

> Another reason you see companies move away from Scala is its complexity and Scala inviting you to write unreadable code, but I don't know how much of a role that played for Jetbrains. >:

Henadz
24.05.2017
19:59:19
> Scala inviting you to write unreadable code весьма спорное утверждение

folex
24.05.2017
19:59:39
мягко говоря

Arthur
24.05.2017
19:59:53
говно можно на чем угодно писать

folex
24.05.2017
20:00:08
Всё из-за compile time? Неужели проще написать новый язык, чем сделать https://triplequote.com/?

Henadz
24.05.2017
20:00:38
вот Brainfuck inviting you to write unreadable code )

Daniel
24.05.2017
20:17:25
у меня исходный массив это INDarray, его конвертнуть нельзя в обычный)
на этом месте про производительность можно было заканчивать говорить или nd4j поправили уже скорость создания экземпляров?

KrivdaTheTriewe
24.05.2017
20:19:18
на этом месте про производительность можно было заканчивать говорить или nd4j поправили уже скорость создания экземпляров?
насчёт поправили не уверен, у меня не очень большой опыт с ними, но там есть полугруппа по сути для массивов, поэтому ее и использую

Google
Daniel
24.05.2017
20:25:12
у них из удобного были многомерные массивы, на этом все работа с линейной алгеброй примитивная только обратную матрицу не посчитать (полгода назад еще так и не завезли) при этом проблемы создание даже пустого массива занимало 14мс (и причем очень стабильно, вне зависимости от прогрева вм)

folex
24.05.2017
20:26:36
benchmark-friendly методы, прогревают vm за тебя

Daniel
24.05.2017
20:30:34
пока нет проектов с математикой забавность была в том, что все заявы про оптимизации в каких либо джавовых либах (включая работу с нативным blas) по производительности не далеко ушли от максимально тупого while + Array (то что @rudogma говорил) бриз брал только ради обратной матрицы, написал еще кастомное чтение из numpy файлов

Alexander
24.05.2017
20:31:51
Пагни. А как всех таки типизировать актор в акке.

Daniel
24.05.2017
20:32:25
есть еще один финт с массивами если jit видит что с новым массивом первое же действие это его заполнение целиком, то он при инициализации не заполняет его предварительно дефолтными значениями как требует спека jvm

Daniel
24.05.2017
20:33:53
Пагни. А как всех таки типизировать актор в акке.
http://akka.io/blog/2017/05/05/typed-intro серия постов в блоге у них про раоту с новым вариантом типизированных акторов

Alexander
24.05.2017
20:34:29
Благодарю

Alexander
24.05.2017
20:35:40
Депрекейтед

Nick
24.05.2017
20:35:45
Alexander
24.05.2017
20:36:35
Виноват. Не оно

Nick
24.05.2017
20:39:56
@optician_owl дай почитать, откуда ты эт взял

Daniel
24.05.2017
20:40:04
это не только с массивами работает, но на них наиболее заметно полагаю наверняка есть корнер кейсы

доклад человека с обложки, даже не помню какой из

Nick
24.05.2017
20:40:44
ладно там векторизация и все такое

ща найду

Daniel
24.05.2017
20:40:56
векторизация не причем

Google
Daniel
24.05.2017
20:41:39
но грубо, если у тебя идет объявление массива и сразу его заполнение, то наверняка будет идти оптимальный вариант

вероятно все упирается в escape анализ

Nick
24.05.2017
20:42:19
arrays wisdom который ?

векторизация не причем
а я и не говорил что причем xD

Daniel
24.05.2017
20:43:04
хз, я настолько глубоко не шарю нет времени погружаться в тему хорошо

Nick
24.05.2017
20:43:23
самое плохое, что в исходниках не посмотришь

точнее посмотреть можно, но долго

Daniel
24.05.2017
20:44:18
но несмотря ни на что, если вам действительно нужна быстрая математика, выкидывайте jvm и пишите на питоне или чем-то низкоуровневом

KrivdaTheTriewe
24.05.2017
20:44:52
точнее посмотреть можно, но долго
но потому не поконтрибьютишь куда-нибудь

Daniel
24.05.2017
20:45:19
мне дотнетчики хвастались что у них нормальная работа с нативными либами, но насколько слышал результат был такая же задница как и в моих экспериментах

KrivdaTheTriewe
24.05.2017
20:45:27
но несмотря ни на что, если вам действительно нужна быстрая математика, выкидывайте jvm и пишите на питоне или чем-то низкоуровневом
почему на питоне будет быстрее, я не пойму, неужели никто врапперы для сишных библиотек не осилил?

Daniel
24.05.2017
20:46:45
numpy, scipy это все сишное с питоновским интерфейсом онли под капотом те же бласы но там нет такой херни как в jvm с копированиями лишними

ну вот с llvm совсем не знаю что и как устроено ты говорил там тоже vm

Daniel
24.05.2017
20:48:23
была мысль в рамках изучения раста на нем написать простенькую либу

Nick
24.05.2017
20:48:40
о, а раст ж как раз с llvm, не?

Daniel
24.05.2017
20:49:13
да нет вроде

хотя могу и врать

Nick
24.05.2017
20:50:10
https://github.com/rust-lang/rust/tree/master/src/rustllvm

Страница 696 из 1499