[kwlug-disc] about silicon

Mikalai Birukou mb at 3nsoft.com
Sun Dec 13 13:06:09 EST 2020


> Found a nice blog post explaining why M1 is fast.
> https://debugger.medium.com/why-is-apples-m1-chip-so-fast-3262b158cba2

I knew it! I felt it all my life! It takes insurmountable amount of time 
to prepare place for painting, more than painting itself takes. ... 
Eight preppers of micro-ops in M1 versus four in Intel/AMD.

I still have feeling that co-locating memory also helps preppers' 
result, besides the benefit of RISC's constant length of instruction.

It also explains talks of AMD going with ARM. RISC-y business :)

>     Rust provides both Atomic Reference Counting (called Arc) and
>     non-atomic Reference Counting (called Rc). You choose the one that
>     makes sense. Hopefully the type system complains if you use Rc in
>     a context where atomicity is required, but I don't use Rust. C++
>     provides only atomic refcounting in the standard library; for the
>     other kind you roll your own (which I have done).
>>
>>     <moving into discussing silicon and near it>
>>
>>>     Another trick is that Apple's dev languages and frameworks
>>>     (Swift and Objective-C) use reference counting, which requires
>>>     atomic increments and decrements. On Intel, these operations are
>>>     five times slower than non-atomic operations; on Apple Silicon
>>>     they run at the same speed. This is something I wish the other
>>>     CPU vendors would get right, because refcounting has some
>>>     technical advantages over tracing GC, and I use it in software I
>>>     write. C++ and Rust, both "performance" languages, provide
>>>     refcounting but not tracing GC.
>>>>     Regarding M1. My Understanding is that placement of RAM inside
>>>>     of processor package/silicon is the trick that makes it run
>>>>     fast. Is there anything else?
>>>>
>>>>>      The Apple M1 looks decent, but since Apple no longer lets you
>>>>>     run Linux on their hardware, I have no desire to ever buy one.
>>     Does Rust standard refcounting, or implementation of such
>>     pointers need to use atomic in/decrements? Can't it use
>>     non-atomic something, given a more detailed knowledge of
>>     ownership? Just wondering.
>>
>>     _______________________________________________
>>     kwlug-disc mailing list
>>     kwlug-disc at kwlug.org <mailto:kwlug-disc at kwlug.org>
>>     https://kwlug.org/mailman/listinfo/kwlug-disc_kwlug.org
>>
>
>     _______________________________________________
>     kwlug-disc mailing list
>     kwlug-disc at kwlug.org <mailto:kwlug-disc at kwlug.org>
>     https://kwlug.org/mailman/listinfo/kwlug-disc_kwlug.org
>
>
> _______________________________________________
> kwlug-disc mailing list
> kwlug-disc at kwlug.org
> https://kwlug.org/mailman/listinfo/kwlug-disc_kwlug.org
-- 
Mikalai Birukou
CEO | 3NSoft Inc.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://kwlug.org/pipermail/kwlug-disc_kwlug.org/attachments/20201213/dca9559c/attachment.htm>


More information about the kwlug-disc mailing list