原创 es painless 腳本增加時區篩選/按一月中的某天篩選

直接用標準的日期查詢是可以指定時區的, ES 會自動幫你做轉換, 官網說 ES 存儲的日期格式底層是按照時間戳格式存儲的, 沒有時區信息 { "range": { "c_birthday": { "time

原创 redis 前綴樹 基數樹 底層實現(rax)

rax 以後都在 github 更新,請戳 rax(redis 實現的前綴樹) 目錄 相關位置文件 內存構造 內部實現 更多資料 相關位置文件 redis/src/rax.h redis/src/rax.c 內存構造 ra

原创 redis 哈希表結構 底層實現(ziplist/ht)

hash 以後都在 github 更新,請戳 redis 哈希結構實現(ziplist/ht) 目錄 相關位置文件 encoding OBJ_ENCODING_ZIPLIST entry prevlen encoding

原创 redis streams 源碼分析之 listpack

listpack 以後都在 github 更新,請戳 redis listpack 目錄 相關位置文件 ll2string 內存構造 內部實現 概覽 back length integer string 更多資料 相關位

原创 python 字典對象 底層實現 源碼分析 PyDictObject(dict)

PyDictObject 本文參考的是 3.8.0a0 版本的代碼,詳見  cpython 源碼分析 基本篇 以後都在 github 更新,請參考 圖解python dict   dict 顧名思義是字典,通常來講一個字典對象都是通過 H

原创 python 棧幀對象 frame 底層實現 源碼分析 PyFrameObject

PyFrameObject 本文參考的是 3.8.0a0 版本的代碼,詳見  cpython 源碼分析 基本篇 以後都在 github 更新,請參考  圖解 python frame frame 一個 c 文件會被編譯器最終轉換成二進制文

原创 python 迭代器 底層實現 源碼分析 PyGenObject(generator)

PyGenObject 本文參考的是 3.8.0a0 版本的代碼,詳見  cpython 源碼分析 基本篇 以後都在 github 更新,請參考  圖解 python generator 用過 python 的同學都知道 python 內

原创 C++ STL LIST SORT 排序算法圖解

最近看 <<C++性能優化指南>> 留意到上面說 std::list::sort 算法能做到 O(nlog2(n)) 複雜度,而直接對 std::list 套用 std::sort 只能做到 O(n²) 思考後發現如果把 std::sor

原创 python 字符串對象 底層實現 源碼分析 str/unicode

str 以後都在 github 更新,請戳 cpython str/unicode 底層實現解析 目錄 相關位置文件 內存構造 字符串轉換 interned kind unicode底層存儲方式總結 compact 相關

原创 python 集合對象 底層實現 源碼分析 PySetObject(set)

PySetObject 本文參考的是 3.8.0a0 版本的代碼,詳見  cpython 源碼分析 基本篇 以後都在 github 更新,請參考 圖解 python set   set 的實現方式和 dict 有點類似,但是稍微簡單一些,

原创 python 的垃圾回收機制(Garbage Collection)

以後都在 github 更新,請參考 python 垃圾回收   最近讀了一些關於 Python 內部實現的博客,其中有幾篇關於 Garbage Collection 的,在此分享一下 對於比較小塊的內存(比如小於等於512bytes),

原创 python 整型對象 底層實現 源碼分析 PyLongObject(int)

PyLongObject 本文參考的是 3.8.0a0 版本的代碼,詳見  cpython 源碼分析 基本篇 以後都在 github 更新,請參考 圖解python int   在當前的版本中,cpython只有 long 和 float

原创 python 源碼分析 基本篇

以後都在 github 更新,請參考 Cpython Internals   版本 第一步克隆 Cpython 倉庫到本地, 切換到我當前的版本, 我當前的版本號是 3.8.0a0 git clone https://github.co

原创 python 列表對象 底層實現 源碼分析 PyListObject(list)

PyListObject 本文參考的是 3.8.0a0 版本的代碼,詳見  cpython 源碼分析 基本篇 以後都在 github 更新,請參考 圖解 python list 用過 python 的童鞋都知道 python 內建了好幾種

原创 python 元組對象 底層實現 源碼分析 PyTupleObject(tuple)

PyTupleObject 本文參考的是 3.8.0a0 版本的代碼,詳見  cpython 源碼分析 基本篇 以後都在 github 更新,請參考 圖解python tuple python 的內建對象除了 list 這個可變的數據結構