Cache-Friendly, Low-Memory Lanczos Algorithm in Rust The standard Lanczos method for computing matrix functions has a brutal memory requirement: storing an n×kn \times kn×k basis matrix that grows with every iteration. For a 500.000500.000500.000-variable problem needing 100010001000 iterations, that’s roughly 4 GB just for the basis. In this post, we will explore one of the most straightforward s
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 結論 - 2025年11月時点における世界最高速の向聴数計算アルゴリズムの実装 本稿で説明する向聴数計算アルゴリズムの実装は https://github.com/Cryolite/nyanten で公開しています.この実装による手牌1つあたりに対する向聴数計算の速度は, Intel Core i9-12900, Ubuntu 24.04.3 LTS, GCC 15.2.0 を利用して計測した結果,平均して約40ナノ秒でした.もしこの向聴数計算アルゴリズムの実装が2025年11月時点における世界最高速のものであることに異論がある場合は,
PROGRAM-ing Finger Trees in COQ Matthieu Sozeau Univ. Paris Sud, CNRS, Laboratoire LRI, UMR 8623, Orsay, F-91405 INRIA Futurs, ProVal, Parc Orsay Université, F-91893 sozeau@lri.fr Abstract Finger Trees (Hinze and Paterson 2006) are a general purpose persistent data structure with good performance. Their genericity permits developing a wealth of structures like ordered sequences or interval trees
For a high-performance B+Tree, the memory layout of each node must be a single contiguous block. This improves locality of reference, increasing the likelihood that the node's contents reside in the CPU cache. In C++, achieving this means forgoing the use of std::vector, as it introduces a layer of indirection through a separate memory allocation. The solution to this problem though inevitably inc
先日、業務で重複判定を実装する機会がありました。その中でUnionFindと逆引きインデックスという技術を使ったのですが、実際に導入してみると非常に効果的だったので、今回は商品マスタの重複検出を例にこれらの技術を用いて重複検出の課題を解決した話をします。 想定する問題 ECサイトの商品マスタ管理において、同一商品が複数のレコードとして登録されてしまう問題があるとします。これは、異なる仕入先からの商品情報や、データ入力時の表記揺れなどが原因で起こります。重複した商品データは在庫管理の混乱や顧客体験の悪化を招くため、正確な重複検出と統合が必要になります。 重複判定条件 今回の商品マスタの例では、以下のいずれかの条件を満たせば「重複」とみなします。 JANコードが一致:jan_codeが同じ 型番が一致:model_numberが同じ ブランド名 + 容量が一致:brandとcapacityの組
Posted on September 30, 2025 Updated on October 8, 2025 For software engineers, diffs are a ubiquitous method for representing changes: We use diffs to compare different versions of the same file (e.g., during code review or when trying to understand the history of a file), to visualize the difference of a failing test compared with its expectation, or to apply changes to source files automaticall
Accidentally writing a fast SAT solver In my freshman year of college, I found myself staring at the screen looking over this for the first time: Instead of being assigned to recommended classes in high school, I had the pleasure (and burden) of figuring out the schedule for my next 4 months on my own. After going over required courses, recommended courses, optional courses, and what others are t
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く