мне нужно совсем немного
- прочитать файл
- json.decode
- скопировать элементы массива в другой массив
- скормить всю срань тензорфлоу
- записать обратно в файл
даже не числодробилки, а самая тривиальнейшая обработка данных... но как бы ты знал как не хочется
#программирование
Вот вам господа сениоры-помидоры🍅 задача на подумать
Так работает:
Так не работает: на строке sess.run кидает ошибку
Tensor tf.Tensor 'Train/Loss/loss:0' shape=() dtype=float32 is not an element of this graph
Угадайте, где косячит #CSharp оптимизатор кода
Объекты loss_val & accuracy_val это float и заданы как field в классе
#dotnet #microsoft #программирование
Функция из 8 локальных переменных типа DWORD.
Последовательно копируешь значения из ulong[] в эти переменные. На каждую операцию присвоения генерируется 8 ассемблерных инструкций (я ожидал 2-3).
8 скоуповых переменных (а больше в методе и нет) лежат в стеке... в оперативке!
У тебя 12 регистров общего назначения. Из них используешь 2.
Что это за херня? Кто это говно писал?!
Это буквально какая-то параша!
Сука, надо реально попробовать сделать Attach to current process. Я просто не верю, что это говно реально так конпилится
В общем, вот что на самом деле генерирует код на C# после прогрева. Я не понимаю зачем постоянные cmp eax в начале, но в целом код норм. Но вот на плюсах, например, конпелятор понял, что мне не нужно на самом деле класть данные из памяти в регистры в самом начале. Здесь реально копирование данных.
Все 12 регистров задействуются. Мои хорошие♥
push rdi
push rsi
push rbp
push rbx
sub rsp,28h
mov eax,[rcx+8]
cmp eax,0
jbe near ptr 000000000040012Ah
mov rdx,[rcx+10h]
cmp eax,1
jbe near ptr 000000000040012Ah
mov r8,[rcx+18h]
cmp eax,2
jbe near ptr 000000000040012Ah
mov r9,[rcx+20h]
cmp eax,3
jbe near ptr 000000000040012Ah
mov r10,[rcx+28h]
cmp eax,4
jbe near ptr 000000000040012Ah
mov r11,[rcx+30h]
cmp eax,5
jbe near ptr 000000000040012Ah
mov rsi,[rcx+38h]
cmp eax,6
jbe near ptr 000000000040012Ah
mov rdi,[rcx+40h]
cmp eax,7
jbe near ptr 000000000040012Ah
mov rax,[rcx+48h]
mov rbx,a5a5a5a5a5a5a5a5h
xor rbx,rax
sub rdx,rbx
xor r8,rdx
add r9,r8
mov rbx,r8
not rbx
shl rbx,13h
xor rbx,r9
sub r10,rbx
xor r11,r10
add rsi,r11
mov rbx,r11
not rbx
shr rbx,17h
mov rbp,1FFFFFFFFFFh
and rbx,rbp
xor rbx,rsi
sub rdi,rbx
xor rax,rdi
add rdx,rax
mov rbx,rax
not rbx
shl rbx,13h
xor rbx,rdx
sub r8,rbx
xor r9,r8
add r10,r9
mov rbx,r9
not rbx
shr rbx,17h
and rbx,rbp
xor rbx,r10
sub r11,rbx
xor rsi,r11
add rdi,rsi
mov rbx,123456789ABCDEFh
xor rbx,rdi
sub rax,rbx
mov [rcx+10h],rdx
mov [rcx+18h],r8
mov [rcx+20h],r9
mov [rcx+28h],r10
mov [rcx+30h],r11
mov [rcx+38h],rsi
mov [rcx+40h],rdi
mov [rcx+48h],rax
add rsp,28h
pop rbx
pop rbp
pop rsi
pop rdi
ret
Сделал подвижки в скилле. Теперь мой код тормозит не только с маленькой оперативкой, но и со слабым процессором. На #AMD #Ryzen 9 3900X (с 24 лог ядрами) всё работает отменно, а на #Intel #Xeon Processor (#Skylake, IBRS) (со всего 16 лог ядрами) неистово тормозит (буквально разница в 100 раз на простейшей операции). Возможно дело в том, что у меня #Windows, а там #Ubuntu #Linux
#kotlin #программирование
kotlinlang.org/api/latest/jvm/… Тупль на два элемента. Pair
kotlinlang.org/api/latest/jvm/… Тупль на три элемента. Triple
Язык который мы заслужили.
---------------------------------------------------------------------------
На работе нужно было резко вносить изменения в проект на Котлине за место аутсорсеров, которых мы изгнали за прогондоненные сроки. Два часа знакомства: val (иммутабельный var), корутины через корутины, отсутствие возможности объявить переменную в одном месте, а задать значение в другом, promise-oriented programming all the way (я хз, мб наши аутсорсеры так код писали)
#diary
Нашёл забавную ошибку на #Blockchair.
В #Bitcoin есть родительская транзакция I, у неё есть выход A.
В мемпуле есть транзакция II, которая использует выход A.
А также в мемпуле есть транзакция III, которая использует тот же выход A (rbf-транзакция).
Blockchair показывает страницу родительской транзакции I как будто у неё два выхода A, на одинаковый адрес, на одинаковую сумму, оба выхода истрачены. При этом sum output всё же корректный
Вот эти люди, которым очко надо вилкой драить, пишут софт, отвечающий за огроменнейшие деньги.
#программирование #идиоты #криптовалюты #крипта #crypto #cryptocurrency #финтех
Только что с помощью нехитрых математических манипуляций понял, что за последние 3.5 месяца заработал на крипте больше чем за всю предыдущую жизнь всей своей работой в разных её ипостасях.
#программирование #работа #деньги #зарплата #криптовалюты #крипта #crypto #cryptocurrency #diary #филосораптор
Интересно, сильно у меня сгорит жопа, если к концу буллрана я на крипте (за 6-7 месяцев) заработаю больше чем за всю жизнь программированием?
#программирование #работа #деньги #зарплата #криптовалюты #крипта #crypto #cryptocurrency #diary #филосораптор
Там это, ебучие кабаны хотят организовать картельный сговор для уменьшения зарплат ИТшников:
Драма ИТ-рынка: что делать с постоянно растущими зарплатами ИТишников?
Команда Atsearch Crowd Recruitment спросила HR руководителей про зарплаты ИТишников и региональный ИТ-рынок.
Вопрос: что делать с постоянно растущими зарплатами ИТишников?
Ответ: Мы за коалицию работодателей - договоренность о не переманивании людей, определение максимального уровня оклада специалистов, единого у всех работодателей под каждую категорию ИТ-специализаций и т.д.
В первой части проекта приняли участие:
Ксения Мартынова, Управляющий директор-начальник управления Департамент HR-компетенций ПАО Сбербанк
Марат Исмагулов, Директор по персоналу #Альфа-Банк
Пресс-служба Home Credit Bank.
Анна Паршина, Руководитель HR-команды мультимедийного сервиса #Okko, директор по внутренним сервисам #Rambler Group
Дарья Маркина, Руководитель IT-рекрутмента Mail.ru Group
Ольга Филатова, Исполнительный вице-президент по управлению персональном, организационному развитию и поддержке #Билайн
Марина Арзамасцева, Директор по операционной поддержке персонала функций #Tele2
Пресс-служба #МегаФон
vc.ru/hr/215582-drama-it-rynka…
Заценил как работает #Blazor в #CSharp. На каждый пук на клиент-сайде генерируется #WebSocker -запрос на сервер-сайд, где идёт обработка на C#, которая потом уходит по WS и отображается на клиент-сайде.
Был... немного... удивлён...
Нет, я уже понял что можно JS-кода дописать и по-человечески писать. Я просто был удивлён дефолтному решению и человеку, которому пришёл в голову такой вариант.
Зашёл #javascript разработчик. На предложение начать писать на #CSharp ответил "не, у вас слишком типизированный язык"