Kacam.net

Systèmes

一次上下文切换,贵在哪

切换的成本主要不是保存寄存器 —— 那是什么?

Copiez la consigne, puis choisissez un modèle. Il joue l'examinateur et vous interroge acte par acte au lieu de vous donner la réponse.

Sur un téléphone où l'application est installée, le système l'ouvre directement. Dans WeChat, les liens n'ouvrent pas les applications externes : ouvrez-le d'abord dans un navigateur.

Le texte copié se termine par le corrigé dont le modèle se sert pour vous évaluer. Ne le lisez pas avant : ce qui compte, c'est de l'avoir déduit vous-même.

「切换有开销」人人会说,但开销在哪、量级是多少就开始分人了。直接成本(保存现场、跑调度器)只有一两微秒,真正贵的是切完之后缓存全冷、新线程要重新捂热的那几十微秒。

想明白这一点,「线程池该开多大」「协程凭什么便宜」「为什么任务粒度太小时多线程反而更慢」就都是它的推论。

最后一幕问怎么在线上看:自愿切换和非自愿切换特别高,分别说明什么。

★★★★☆ · environ 30 min · Ce qui est évalué : 直接成本 vs 间接成本、线程池该开多大、协程凭什么便宜

Ce que celle-ci travaille

Ordonnancement et bascule Caches et lignes de cache Ordres de grandeur

Déjà fait celui-ci ?

Connectez-vous pour noter que vous l'avez fait : la prochaine fois, vous verrez quel jour c'était.

Notes de ceux qui l'ont fait

Personne n'a encore écrit. Une fois terminé, racontez ce qui est sorti de l'échange : quel acte vous a bloqué, quelle conclusion vous avez changée ensuite.

Se connecter pour écrire une note.

Comment s'en servir

Cette série enseigne au lieu d'interroger : elle vous guide au lieu de pousser jusqu'à ce que vous n'ayez plus rien à dire. Quand vous bloquez, elle demande d'abord à quel niveau (jamais entendu / je sais mais pas pourquoi / je sais pourquoi mais je n'y arrive pas), puis décide quoi donner. Elle ne donne la réponse qu'après deux tentatives de guidage — et vous demande ensuite de la redire avec vos mots.

Elle vous réclamera des chiffres sans relâche : répondez « ça coûte un peu » ou « c'est plus rapide » et elle vous coupe. Une conclusion sans ordre de grandeur est une conclusion apprise par cœur — c'est exactement ce que cette série travaille.

Comment démarrer

  1. Choisissez-en une, ouvrez-la, copiez l'invite.
  2. Collez-la dans une conversation toute neuve, ne dites rien, attendez sa première question.
  3. Attendez-vous à devoir chiffrer : combien de nanosecondes, de microsecondes, combien de fois plus lent. Dire que vous ne savez pas suffit, elle le note et continue.

Quatre commandes à lancer à tout moment

  • 跳过 passer tout de suite à la scène suivante
  • 换个说法 réexpliquer ce point sous un autre angle
  • 直说吧 donner la réponse complète, puis me la faire redire
  • 复盘 sauter à la conclusion et sortir la fiche de bilan

Trois pièges

  • Ne lisez pas le corrigé de la fin en premier — sa rubrique « erreurs de raisonnement courantes » contient la réponse à chaque question.
  • Ne vous jetez pas sur le jargon. Dire « c'est un défaut de TLB » est facile ; dire de combien c'est moins cher qu'un défaut de page, c'est ça qui compte.
  • Quand elle se met à vous complimenter, renvoyez-la à la règle « ne me complimente pas ». Guider n'est pas cajoler.

Pour vous faire les ordres de grandeur : les lectures aléatoires puis le premier octet. Pour le débogage en production : malloc, les blocages TCP, les changements de contexte. Pour le code concurrent : réordonnancement et faux partage.