Актуальні теми
#
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, або щось із складними даними, цей підхід майже лякає своїми можливостями.
Це процес із двох раундів. Ось перший раунд:
---
Спочатку дуже уважно прочитайте ВСІ файли AGENTS dot md і README dot md і зрозумійте ВСІ обидва! Потім використовуйте режим агента для дослідження коду, щоб повністю зрозуміти код, технічну архітектуру та призначення проєкту.
Потім, коли ви виконаєте надзвичайно ретельну і ретельну роботу і глибоко зрозумієте всю існуючу систему, її призначення, як вона реалізована і як усі частини пов'язані між собою, мені потрібно, щоб ви надзвичайно інтенсивно дослідили, вивчили і обмірковували ці питання, що стосуються цього проєкту:
Чи є ще якісь грубі неефективності в основній системі? місця в коді, де 1) зміни фактично змінять загальну затримку/відгук і пропускну здатність; 2) щоб наші зміни були доведено ізоморфними з точки зору функціональності, щоб ми точно знали, що це не змінює отримані вихідні дані за однакових входів; 3) коли у вас чітке бачення очевидно кращого підходу з точки зору алгоритмів або структур даних (зверніть увагу, що для цього ви можете включити у свої роздуми менш відомі структури даних і більш езотеричні/складні/математичні алгоритми, а також способи переосмислення проблеми(ів), щоб інша парадигма була відкрита, наприклад, наведений нижче список (Примітка: Перед пропозицією будь-якої оптимізації встановіть базові метрики (затримка, пропускна здатність, пікова пам'ять p50/p95/p99) і зафіксуйте профілі CPU/виділення/I/O для ідентифікації фактичних гарячих точок:
- N+1 усунення шаблону запиту/вилучення
- нульове копіювання / повторне використання буфера / ввод/вивід з розсіюванням
- витрати на формати серіалізації (накладні витрати на аналіз/кодування)
- обмежені черги + зворотний тиск (запобігання розриву пам'яті та затримки хвоста)
- шардинг / смугасті замки для зменшення конфлікту
- Мемоїзація за допомогою стратегій інвалідації кешу
- Методи динамічного програмування
- Теорія опуклої оптимізації
- ліниве обчислення / відкладені обчислення
- шаблони ітераторів/генераторів для уникнення матеріалізації великих колекцій
- потоковий/фрагментований обробка для роботи з обмеженням пам'яті
- таблиці попередніх обчислень і пошуку
- пошук на основі індексу проти лінійного розпізнавання сканування
- бінарний пошук (за даними та у просторі відповідей)
- техніки двохпунктного та ковзного вікна
- префіксні суми / кумулятивні агрегати
- топологічне сортування та DAG-обізнаність для графів залежностей...
Найкращі
Рейтинг
Вибране
