Рубрика «оптимизация» - 5

Уважаемые читатели, в этой статье я хочу рассказать о небольших тестах со строками и представить свои выводы. Тесты сделаны на .net 7.

Все коды представлены для повторения но отмечу, что больше всего удивили циклы.

Про строки написано немало, поэтому слишком углубляться в их особенности не буду, лишь напомню, что строки в реальности могут быть изменяемыми с использованием различных ухищрений.

Все тесты сделаны с использованием BenchmarkDotNet, так что каждый может проверить результаты и сделать свои выводы.

Хочется начать с string.Replace, который проверяется разными вариантами, начиная с базового:

Читать полностью »
FlexGen на практике: получится ли запустить тяжелую модель без мощной видеокарты - 1

От таких штук нас обещает избавить FlexGen при работе с текстовыми моделями.

Ранее я рассказывал про создание виртуальной подруги на основе текстовой модели GPT-J, которую можно развернуть локально. Ожидаемый недостаток этой идеи — большие «аппетиты» текстовых моделей по отношению к вычислительным ресурсам. Собственно, мой последний эксперимент состоялся только благодаря карточке A100 в сервере.

В конце февраля группа исследователей опубликовала FlexGen — решение для запуска масштабных текстовых моделей в среде с ограниченными ресурсами. В теории оно должно помочь обойтись ресурсами персонального ПК, без добавления мощных видеокарт. Под катом расскажу о FlexGen и его применимости в существующем проекте.Читать полностью »

Всех приветствую! Я планирую создать цикл статей, демонстрирующий распространенные ошибки, влияющие на производительность приложения со стороны бэкенда, а также методы их поиска и устранения. Для этого, я написал приложение, в котором специально допустил различные ошибки, чтобы по порядку найти и исправить их.

В текущей статье, рассмотрим темы - n+1, пагинация и индексы. Приятного чтения!

Описание приложения

Читать полностью »

Почему десктопные приложения работают на веб-платформе? - 1


Где мы свернули не туда? Как получилось, что современный десктопный GUI по умолчанию использует платформу HTML/CSS/JavaScript, которая изначально не предназначена для нативной работы на десктопе? Она создана конкретно для браузера и веба. Зачем из нативного софта делать веб-страницы в браузерной оболочке?

Джефф Этвуд (автор Stack Overflow) предсказал этот феномен ещё в 2007 году. Он тогда сформулировал так называемый закон Этвуда:

Любое приложение, которое можно написать на JavaScript, будет в итоге написано на JavaScript.

Так и вышло.
Читать полностью »

Я выпустил библиотеку banditypes — самый маленький валидатор схем для TS / JS. Удивительно, но базовый функционал валидации с приятным API можно упихнуть в 400 байт, если сконцентрироваться на размере и добавить пару грязных хаков. В этой статье расскажу, как добился такого результата.

Но для начала, если вы еще не знакомы с проблемой и популярными решениями (zod, superstruct, yup старина joiЧитать полностью »

22 342 кратное ускорение загрузки геометрии в Unity - 1

Немного истории

Меня зовут Артем Толстогузов, и я вхожу в группу анонимных Unity‑программистов.

У меня:

  • навязчивое желание переложить всю работу с CPU на GPU;

  • небольшой фетиш в области оптимизаций всего что только возможно;

  • хронический интерес к шейдерам, графическому пайплайну и технологиям;

  • Читать полностью »

Введение в математическую оптимизацию на примере компании Recruit. Часть 4 - 1


Это серия статей о том, что такое математическая оптимизация и как её можно применить в бизнесе на примере компании Recruit. В данной статье мы рассказываем, как была решена проблема планирования доставки бесплатной газеты. Другие части доступны здесь:

❖ авторы Кенго Хамада, Котаро ТанахасиЧитать полностью »

Как я оптимизировал стандартную русскую раскладку - 1

При интенсивном наборе текстов на клавиатуре часто возникает ощущение неоптимальности движения пальцев, что наталкивает на мысль о существовании более удобного расположения букв на клавишах.

Читать полностью »

Ещё в мае 2022 года я переориентировал пару команд в Google на разработку полностью гомоморфного шифрования (вот объявление об этом в рассылке). С тех пор я участвовал в работе над многими проектами в этой области, в частности, руководил поддержкой на github.com/google/fully-homomorphic-encryption – это опенсорсный ПГШ-компилятор для C++. В этой статье даётся вводная информация о том, как при помощи этого инструмента компилировать программы с расчётом на ПГШ. Также пробежимся по тому, из чего этот компилятор состоит.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js