Актуальные темы
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
Я включил миниатюрную версию этого запроса здесь, потому что серия "Мои любимые запросы" должна быть компактной, лакомой, самодостаточной.
Но сегодня я превратил это в поистине безумную систему. Это не имеет значения, если вы создаете другую программу CRUD на React или список дел, но если вы делаете что-то довольно сложное на Rust или Golang, или что-то, связанное со сложными данными, этот подход почти пугает тем, что он может сделать.
Это процесс из 2 этапов. Вот Этап 1:
---
Сначала внимательно прочитайте все файлы AGENTS dot md и README dot md и полностью поймите их! Затем используйте режим агента для расследования кода, чтобы полностью понять код, техническую архитектуру и цель проекта.
Затем, как только вы выполните крайне тщательную и скрупулезную работу и глубоко поймете всю существующую систему и то, что она делает, ее цель, и как она реализована, и как все части соединяются друг с другом, мне нужно, чтобы вы гиперинтенсивно исследовали, изучали и размышляли над этими вопросами, касающимися этого проекта:
Есть ли другие грубые неэффективности в основной системе? Места в кодовой базе, где 1) изменения действительно повлияют на общую задержку/отзывчивость и пропускную способность; 2) так, что наши изменения будут доказуемо изоморфными с точки зрения функциональности, чтобы мы точно знали, что это не изменит результирующие выходные данные при тех же входных данных; 3) где у вас есть четкое видение явно лучшего подхода с точки зрения алгоритмов или структур данных (обратите внимание, что для этого вы можете включить в свои размышления менее известные структуры данных и более эзотерические/софистицированные/математические алгоритмы, а также способы переформулировать проблему(ы), чтобы другой парадигма была раскрыта, как показано в списке ниже (Примечание: перед предложением любой оптимизации установите базовые метрики (p50/p95/p99 задержка, пропускная способность, пиковая память) и захватите профили CPU/выделения/I/O, чтобы выявить фактические горячие точки):
- Устранение паттерна N+1 запросов/выборок
- нулевое копирование / повторное использование буфера / разрозненный ввод-вывод
- затраты на формат сериализации (накладные расходы на разбор/кодирование)
- ограниченные очереди + обратное давление (предотвращение увеличения памяти и задержки в хвосте)
- шардирование / полосатые блокировки для уменьшения конкуренции
- мемоизация с стратегиями недействительности кэша
- техники динамического программирования
- теория выпуклой оптимизации
- ленивое вычисление / отложенные вычисления
- паттерны итераторов/генераторов, чтобы избежать материализации больших коллекций
- потоковая/пакетная обработка для работы с ограниченной памятью
- предварительное вычисление и таблицы поиска
- индексированный поиск против линейного сканирования
- бинарный поиск (по данным и по пространству ответов)
- техники двух указателей и скользящего окна
- префиксные суммы / кумулятивные агрегаты...
Топ
Рейтинг
Избранное
