mimalloc のメモリ管理 - Qiita      2019-07-15 20:20:36  詳細
Microsoft の mimalloc は面白い割り切り方で、小さいソースコードで高速なアロケータを実装しています。 確保するメモリブロックのサイズを、 Small (~8KiB), Large (~512KiB), Huge (512KiB~) の3つに分類し、 Small と Large は同じアルゴリズムで管理し、 Huge は OS 任せにして、 Small と Large は同じアルゴリズ...
Hiromitsu Takagi on Twitter: "そもそもスマホアプリ の時代、もはやauthenticationですらないと思うのよね。(何を言ってるかわからねえだろうと思うが。)"      2019-07-15 07:20:21  詳細
そもそもスマホアプリ の時代、もはやauthenticationですらないと思うのよね。(何を言ってるかわからねえだろうと思うが。)
動的計画法を実現する代数〜トロピカル演算でグラフの最短経路を計算する〜 - Qiita      2019-07-11 11:20:02  詳細
トロピカル半環と呼ばれる代数構造上のトロピカル行列を利用すると動的計画法を使ってグラフの最短経路の距離を計算するという問題が単純な行列積で解けてしまうらしい。そんな噂1を聞きつけて我々はその謎を解き明かすべく南国(トロピカル)の奥地へと向かった。 トロピカルな世界に行くためにはまずは代数を知る必要...
将棋が指せる WEB サービスを個人で開発しました - SHOGIX      2019-06-26 00:20:26  詳細
みなさんこんにちは、はじめまして、菊池です。 先日、関数型言語と Google のクラウドサービスを使って作った【SHOGIX 無料で将棋の対局ができる WEB サービス 】を公開しました。完全に個人の趣味プロジェクトです。 WEB ブラウザがあれば将棋の対局ができるので、よかったら友達と将棋を指す時とかに使ってみてくださ...
GitHub - microsoft/mimalloc: mimalloc is a compact general purpose allocator with excellent performance.      2019-06-23 19:40:06  詳細
mimalloc (pronounced "me-malloc") is a general purpose allocator with excellent performance characteristics. Initially developed by Daan Leijen for the run-time systems of the Koka and Lean languages. It is a drop-in replacement for malloc and can be used in other programs without code changes, f...
Comparing the Same Project in Rust, Haskell, C++, Python, Scala and OCaml - Tristan Hume      2019-06-17 03:40:03  詳細
During my final term at UWaterloo I took the CS444 compilers class with a project to write a compiler from a substantial subset of Java to x86, in teams of up to three people with a language of the group’s choice. This was a rare opportunity to compare implementations of large programs that all d...
低レイヤを知りたい人のためのCコンパイラ作成入門      2019-05-21 11:20:06  詳細
はじめに このオンラインブックは執筆中です。完成版ではありません。フィードバックフォーム この本には一冊の本に盛り込むにはやや欲張りな内容を詰め込みました。本書では、C言語で書かれたソースコードをアセンブリ言語に変換するプログラム、つまりCコンパイラを作成します。コンパイラそのものもCを使って開発しま...
gdbgui      2019-05-19 14:40:03  詳細
 Home A modern, browser-based frontend to gdb (gnu debugger) gdbgui is a browser-based frontend to gdb, the gnu debugger. You can add breakpoints, view stack traces, and more in C, C++, Go, and Rust! It's perfect for beginners and experts. Simply run gdbgui from the terminal to start the gdbgui ...
Protothreads - Lightweight, Stackless Threads in C      2019-05-16 16:20:26  詳細
Protothreads are extremely lightweight stackless threads designed for severely memory constrained systems, such as small embedded systems or wireless sensor network nodes. Protothreads provide linear code execution for event-driven systems implemented in C. Protothreads can be used with or withou...
f() vs f(void) in C vs C++ - Nick Desaulniers      2019-05-13 12:20:27  詳細
TL;DR Prefer f(void) in C to potentially save a 2B instruction per function call when targeting x86_64 as a micro-optimization. -Wstrict-prototypes can help. Doesn’t matter for C++. The Problem While messing around with some C code in godbolt Compiler Explorer, I kept noticing a particular funny ...
Microsoft Azure、DNSの設定変更に失敗して全世界的にサービス障害。日本は十連休中だったのが不幸中の幸いか - Publickey      2019-05-09 11:20:27  詳細
Microsoft Azure、DNSの設定変更に失敗して全世界的にサービス障害。日本は十連休中だったのが不幸中の幸いか Microsoft Azureは、2019年5月2日午後7時43分から午後10時35分まで(日本時間 2019年5月3日午前4時43分から午前7時35分まで)の約3時間、DNSの名前解決に問題が発生。 ほぼ全世界的に、Microsoft Azureをはじ...
Introducing Windows Terminal | Windows Command Line Tools For Developers      2019-05-07 09:20:11  詳細
We are beyond excited to announce Windows Terminal! Windows Terminal is a new, modern, fast, efficient, powerful, and productive terminal application for users of command-line tools and shells like Command Prompt, PowerShell, and WSL. https://aka.ms/terminal-video Windows Terminal will be deliver...
Xcode を使って Ruby C 拡張ライブラリをデバッグ - @watson1978 の日記      2019-05-03 14:21:06  詳細
RMagick のテストが通らないものを調べる際にどのようにデバッグしようかと思ったのですが、Debugging Ruby C Extensions in XCode - Emil Soman's blog に有益なことが書かれておりました。元の記事では Xcode 5.1 が使われていたので最新の Xcode のスクリーンショットを交えつつ手順を書いてみます。 この記事では Ru...
C言語がコンパイル~実行されるまで - Qiita      2019-05-01 20:20:15  詳細
記事の内容 以下のソースコードがコンパイル~実行されるまでに、何が行われるのかを理解する。 細かいオプションや処理の詳細は追わない。 #include <stdio.h> #define MESSAGE "hello world\n" int main(int argc, char *argv[]) { printf(MESSAGE); return 0; } ]$ uname -rm 3.10.0-957.10.1.el7.x86_64 x86_64 ]$ gc...
13年前にプログラムした「オセロを作りなさい」という課題でノリノリで作ったゲームをコンパイルしたら動いた!→「草生える」「もはやオセロではない」「愛がある」 - Togetter      2019-04-22 23:20:47  詳細
13年前プログラムをコンパイルしたら動いたwww『オセロ作りなさい』って言われてサウンド専攻の奴とノリノリで作ったやつwww #学生作品 #C言語 #gamedev #ゲーム開発 pic.twitter.com/Fme7VbhUG8
Python 3.7.4 からGC対象オブジェクトのメモリ使用量が8バイト増えるかも - Qiita      2019-04-21 10:40:03  詳細
x86-64 の ABI では、 int128 や long double 型は 16byte 境界に配置することになっています。 しかし Python がもっている pymalloc 実装は 8 バイト境界のメモリブロックを返すようになっています。。。大丈夫か? 16byte alignment を要求する型が入った構造体を malloc しようとすると 16byte の倍数になるはずなの...
【C言語】引数なしの関数には void を書いた方がよいという話 - 0x19f (Shinya Kato) の日報      2019-04-18 17:40:03  詳細
C言語で引数なしの関数を書くときに void を書かないのと書くのとで挙動が違うなんて話を聞いたことはないでしょうか? つまり void func() {} と void func(void) {} で挙動が違うという話ですね。 自分も話だけ聞いたことがあったものの2つがどう違うのかはわかっていなかったため、C言語の規格を読みながら何が違うの...
セルフホスティングCコンパイラを書いた - 茅の下      2019-04-14 19:20:33  詳細
セルフホスト(自分自身をビルド)できるCコンパイラnoccを書きました。 github.com はじめに 去年の夏あたりからCコンパイラを書くのが流行っていたのでやってみました。 例によって@rui314さんの8cc、9ccと低レイヤを知りたい人のための Cコンパイラ作成入門を参考にしていますが、バックエンドにはLLVMを使用しています...
C# パフォーマンス改善に使える新しめの機能たち 7.0〜 - Qiita      2019-04-12 22:20:33  詳細
時代に合わせてバージョンアップを続け、モダンな言語もまだまだ彼の背中を追っている部分があると噂されたりしている言語、C#。 現状の利用シーンとして割と大きいめの Unity (ゲームエンジン) では、使えるC#のバージョンがぐいぐいっと上がりはじめて以降、そこそこ新しい書き方も認知されてきているようです。 しか...
何それつらい、オラクル「自社データセンターを作ったので引っ越ししてください」、客「何ですと?」 - orangeitems’s diary      2019-04-06 12:20:11  詳細
これは大変な話 そりゃあ、インフラ担当者は頭を抱えてるでしょうなあ。 japan.zdnet.com 米Oracleおよび日本オラクル(以下、オラクル)は、国内で自社運営のデータセンター(以下、DC)を間もなく開設するのに伴い、富士通の国内DC内に設置しているクラウドサービス「Oracle Cloud」を利用する顧客企業に対し、自社DC...