55 Matching Annotations
  1. Sep 2021
    1. 只要被 DROP 或 TRUNCATE 删除的表是在 tikv_gc_safe_point 时间之后


  2. Jul 2021
    1. You never want to usemmapin your DBMS if you need to write.

      然而在 TiDB 这边,用于防止 OOM 的数据都是只读的!

    2. ow we can hide the latency of the disk rather than focusing on optimizations with registersand caches since getting data from disk is so slow.


    1. As the price of gold goes up, miners' higher profit margins can boost earnings exponentially.


  3. Jun 2021
    1. One example of a system call that can’t be made asynchronously is file-based system calls


  4. Mar 2021
    1. Instead of leaving trust up to chance, you can engineer it by building a repeatable system.

      this is a wonderful quote, I as an engineer love it!

    2. On my worst days, I leave them completely in the dark and go into a cave, emerging from hibernation after days or weeks without any updates.

      yeah, this is so true, so basically, my whole career is in its worse days... I need to change.

    1. Go’s hidden #pragmas

      well, this article deserves translating into Chinese

  5. Feb 2021
    1. Heap usage


    2. hardware timestamp counter (TSC)

      minitrace-rust used this as well.

    3. compute

      这个是啥?go runtime 放到内部栈上计算?

    4. samplesp

      Is sp stack pointer?

    5. execute

      this function must be the entry of each goroutine's execution. I can imagine it will use call to jump to the gouroutine's IP

    1. you may consider the exported providers from a module as the module's public interface, or API.


  6. Dec 2020
    1. xdotool search --name "Mozilla Firefox" windowsize 1024 768

      it worked, use xdotool getwindowfocus windowsize 1920 1080 to resize the current terminal.

    1. Go has the GOGC variable, that can also be controlled with the SetGCPercent function in the runtime/debug package. Don't be afraid to tune the GC to suit your needs.

      Good to know that we could SetGCPercent during runtime.

  7. Aug 2020
    1. Whether automatically commit a transaction.

      What does it mean?

  8. May 2020
    1. Don’t worry: every mature C++ project is using something other than iostreams for good reasons.


    2. For example, a split pipeline makes it easy to implement caching intermediate data, stealing intermediate data from similar queries running at the same time, and merging pipelines for similar queries.


    1. 大部分只涉及单表数据的常用的算子都可以下推到 tikv-server 上计算


    1. All three systems were architected more than 25 years ago, when hardware characteristics were much different than today.


  9. Apr 2020
    1. When PD is performing schedule

      Will it be better to rephrase

      When PD is scheduling


    1. 对于大部分简单的 Transformation Rule,所以 Match() 函数只需要简单地返回 true 就行了。


    2. 另外每个优化规则都需要完整的遍历整个逻辑执行计划,添加优化规则的心智负担和知识门槛非常高。


    1. where thequery graph has cycles


    2. hese queries are often optimizedby partitioning the fact table and replicating the dimension tableson all workers

      即 broadcast join

    3. worst-case optimal algorithm forsequential evaluation

      looking ahead?

    4. communication-optimal algorithmfor distributed evaluation

      broadcast join?

    1. GreenPlum 是一个基于 PostgreSQL 的 mpp 版本的 db,支持完整的 SQL 语义和各种 db 功能,基本上就可以把他当做一个黑盒的,兼容 PostgreSQL 协议的 db 来用


    1. At the moment, cost-based optimization is only used to select join algorithms: for relations that are known to be small, Spark SQL uses a broadcast join, using a peer-to-peer broadcast facility available in Spark


    1. We also prune cartesian product candidates when building a new plan if there exists no join condition involving references from both left and right subtrees. This pruning strategy significantly reduces the search space.


    2. meet the broadcast criteria.


    3. num(A IJ B) = num(A)*num(B)/max(distinct(A.k),distinct(B.k))

      take a look at database system concept, it has explanation for this formula.

  10. Mar 2019
    1. 0xffff0 is 16 bytes before the end of the BIOS (0x100000). Therefore we shouldn't be surprised that the first thing that the BIOS does is jmp backwards to an earlier location in the BIOS; after all how much could it accomplish in just 16 bytes?

      This explains well why we need a long jump, however why not we just start from the place at the beginning of the BIOS?

  11. Dec 2018
    1. PC starts executing with CS = 0xf000 and IP = 0xfff0.

      What does CS stand for?

    1. because the definition of %x does not dominate all of its uses

      What does "dominate all of its uses" mean?

    1. thehardware raises the privilege level and starts executing a pre-arranged function in thekernel

      So in this case, we need to register these functions to hardware, don't we?

    2. hus a process al-ternates between executing inuser spaceandkernel space.

      When I was programming in MIPS (and run it in a simulator), I sometimes need to use system call to print a number on screen, I used to believe that the system call is part of the MIPS, but here it states clear that system call is the way how user interact with the kernel. But how MIPS provided this unified interface? If I am writing a program in C and compile it into MIPS that requires system call, will it be compiled to these system call instruction? Or calling a function that is actually part of the kernal?

  12. Oct 2018
    1. Because there are only local latent variables, we can easily decompose the ELBO into terms Li\mathcal{L}_iL​i​​\mathcal{L}_i that depend only on a single datapoint xix_ix​i​​x_i. This enables stochastic gradient descent.

      Why decompose of the ELBO enabled stochastic gradient descent?

    2. KL(q​λ​​(z∣x)∣∣p(z∣x))=KL(q_\lambda(z \vert x) \vert \vert p(z \vert x)) = Eq[logqλ(z∣x)]−Eq[logp(x,z)]+logp(x)\mathbf{E}_q[\log q_\lambda(z \vert x)]- \mathbf{E}_q[\log p(x, z)] + \log p(x)E​q​​[logq​λ​​(z∣x)]−E​q​​[logp(x,z)]+logp(x)

      How is this equation derived from the definition of KL divergence, which is [KL(q_\lambda (z\mid x)\mid\midp(z\mid x)=...] is different..

    3. By Jensen’s inequality, the Kullback-Leibler divergence is always greater than or equal to zero. This means that minimizing the Kullback-Leibler divergence is equivalent to maximizing the ELBO.

      Because the evidence \(p(x)\) is a unknown constant

  13. Sep 2018
  14. Aug 2018
    1. interface(接口)关键字将抽象类的概念更延伸了一步,它完全禁止了所有的函数定义


    2. 此外,若通过继承增添了一种新类型,如“三角形”,那么我们为“几何形状”新类型编写的代码会象在旧类型里一样良好地工作。所以说程序具备了“扩展能力”,具有“扩展性”。


    3. 统一记号法


    4. 有两种做法可将新得的派生类与原来的基类区分开。
      1. 添加方法
      2. 改善基类
    5. 沿这种思路产生的设计将是非常笨拙的,会大大增加程序的复杂程度。相反,新建类的时候,首先应考虑“组织”对象;这样做显得更加简单和灵活。利用对象的组织,我们的设计可保持清爽。一旦需要用到继承,就会明显意识到这一点。


    6. 第二个原因是允许库设计人员修改内部结构,不用担心它会对客户程序员造成什么影响。


    7. 第一个原因是防止程序员接触他们不该接触的东西


  15. Mar 2018
    1. in NLP we typically use filters that slide over full rows of the matrix (words).

      Sounds like element wise dot product over rows.

    2. It makes intuitive sense that you build edges from pixels, shapes from edges, and more complex objects from shapes.

      More fine-grained (low level) feature at first several layers, and coarse at the final layers. Receptive fields are getting larger during layers of convolution.