41554 blogs · [ { "id": "01a0871c-e979-72e1-ab1b-821580529390", "title": "Rust is perfectly imperfect", "url": "http://0x80.pl/notesen/2026-01-08-imperfect-rust.html", "published_at": "2026-01-08T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-8215813750e4", "title": "Change case of UTF-32-encoded strings", "url": "http://0x80.pl/notesen/2025-02-02-utf32-change-case.html", "published_at": "2025-02-02T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-82158175eb2c", "title": "LoongArch64 subjective higlights", "url": "http://0x80.pl/notesen/2025-01-21-loongarch64-highlights.html", "published_at": "2025-01-19T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-8215819bbdf3", "title": "SIMD binary heap operations", "url": "http://0x80.pl/notesen/2025-01-18-simd-heap.html", "published_at": "2025-01-18T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-8215826d4b8e", "title": "AVX512: printing u64 as binary", "url": "http://0x80.pl/notesen/2025-01-18-avx512-print-bin.html", "published_at": "2025-01-18T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-8215831ae25c", "title": "Drawing trees", "url": "http://0x80.pl/notesen/2025-01-12-drawing-trees.html", "published_at": "2025-01-12T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-8215832233f4", "title": "Building full-text search in Javascript", "url": "http://0x80.pl/notesen/2025-01-07-js-search.html", "published_at": "2025-01-07T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-821584210504", "title": "SIMD parallel bits deposit/extract", "url": "http://0x80.pl/notesen/2025-01-05-simd-pdep-pext.html", "published_at": "2025-01-05T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-8215851734f8", "title": "Dividing unsigned 16-bit numbers", "url": "http://0x80.pl/notesen/2025-01-03-uint16-division.html", "published_at": "2025-01-03T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-8215854b11a7", "title": "Dividing unsigned 8-bit numbers", "url": "http://0x80.pl/notesen/2024-12-21-uint8-division.html", "published_at": "2024-12-21T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-821586039cc2", "title": "Myriad sequences of RISC-V code", "url": "http://0x80.pl/notesen/2024-11-11-myriad-riscv-sequence.html", "published_at": "2024-11-11T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-821586d8374e", "title": "RISC-V Vector Extension overview", "url": "http://0x80.pl/notesen/2024-11-09-riscv-vector-extension.html", "published_at": "2024-11-09T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-821587b0f588", "title": "Simple suggestions using popcount", "url": "http://0x80.pl/notesen/2023-11-20-popcount-suggestions.html", "published_at": "2023-11-20T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-821587f41b29", "title": "AVX-512 conflict detection without resolving conflicts", "url": "http://0x80.pl/notesen/2023-05-06-avx512-conflict-detection.html", "published_at": "2023-05-06T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-821588a5fb7f", "title": "Modern perfect hashing for strings", "url": "http://0x80.pl/notesen/2023-04-30-lookup-in-strings.html", "published_at": "2023-04-30T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-821589738685", "title": "SIMD-ized faster parse of IPv4 addresses", "url": "http://0x80.pl/notesen/2023-04-09-faster-parse-ipv4.html", "published_at": "2023-04-09T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-8215899c98f7", "title": "SWAR find any byte from set", "url": "http://0x80.pl/notesen/2023-03-06-swar-find-any.html", "published_at": "2023-03-06T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-82158a9748ce", "title": "AVX512: finding first byte in lanes", "url": "http://0x80.pl/notesen/2023-02-06-avx512-find-first-byte-in-lane.html", "published_at": "2023-02-06T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-82158af20ccf", "title": "Finding lowest common ancestor of two nodes", "url": "http://0x80.pl/notesen/2023-02-05-tree-lca.html", "published_at": "2023-02-05T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-82158af7c516", "title": "Faster fractional exponents", "url": "http://0x80.pl/notesen/2023-02-05-fraction-pow.html", "published_at": "2023-02-05T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-82158b499d70", "title": "Converting binary fraction to ratio", "url": "http://0x80.pl/notesen/2023-02-05-float-to-ratio.html", "published_at": "2023-02-05T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-82158bf47e50", "title": "AVX512: count trailing zeros", "url": "http://0x80.pl/notesen/2023-01-31-avx512-bsf.html", "published_at": "2023-01-31T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-82158c2919c6", "title": "AVX512: check if value belongs to a set", "url": "http://0x80.pl/notesen/2023-01-21-avx512-any-eq.html", "published_at": "2023-01-21T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-82158ca2f217", "title": "AVX512: generating constants", "url": "http://0x80.pl/notesen/2023-01-19-avx512-consts.html", "published_at": "2023-01-19T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-82158cfa69c9", "title": "AVX512: histogram of sixteen nibbles", "url": "http://0x80.pl/notesen/2023-01-06-avx512-popcount-4bit.html", "published_at": "2023-01-06T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-82158d3d4d43", "title": "Faster hack", "url": "http://0x80.pl/notesen/2022-01-31-faster-hack.html", "published_at": "2022-01-31T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-82158dbf187c", "title": "Fast parsing HTTP verbs", "url": "http://0x80.pl/notesen/2022-01-29-http-verb-parse.html", "published_at": "2022-01-29T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-82158e54e6e4", "title": "DDoS-ed by a service runs on AWS", "url": "http://0x80.pl/notesen/2022-01-29-ddos.html", "published_at": "2022-01-29T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-82158e9bbe2e", "title": "AVX512VBMI2 and packed varuint format", "url": "http://0x80.pl/notesen/2022-01-24-avx512vbmi2-varuint.html", "published_at": "2022-01-24T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-82158f64e025", "title": "Parsing hex numbers with validation", "url": "http://0x80.pl/notesen/2022-01-17-validating-hex-parse.html", "published_at": "2022-01-17T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-82158f78465c", "title": "Bit test and reset vs compilers", "url": "http://0x80.pl/notesen/2021-12-22-test-and-clear-bit.html", "published_at": "2021-12-22T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-821590611850", "title": "Conversion uint32 into decimal without division nor multiplication", "url": "http://0x80.pl/notesen/2021-11-23-uint-to-ascii.html", "published_at": "2021-11-23T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-8215914da9fd", "title": "How to check if any word is zero", "url": "http://0x80.pl/notesen/2021-03-11-any-word-is-zero.html", "published_at": "2021-03-11T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-821592324911", "title": "Autovectorization status in MSVC in 2021", "url": "http://0x80.pl/notesen/2021-02-17-autovectorization-msvc.html", "published_at": "2021-02-17T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-82159266eff0", "title": "Counting byte in byte stream with AVX512BW instructions", "url": "http://0x80.pl/notesen/2021-02-14-avx512bw-count-bytes.html", "published_at": "2021-02-14T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-821592bdcb59", "title": "How to detect if all bytes in SIMD register are the same?", "url": "http://0x80.pl/notesen/2021-02-02-all-bytes-in-reg-are-equal.html", "published_at": "2021-02-02T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-8215934f6099", "title": "Autovectorization status in GCC & Clang in 2021", "url": "http://0x80.pl/notesen/2021-01-18-autovectorization-gcc-clang.html", "published_at": "2021-01-18T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-821594081c00", "title": "Use AVX512 to calculate binomial coefficient", "url": "http://0x80.pl/notesen/2020-03-21-avx512-binomial-coefficient.html", "published_at": "2020-03-21T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-821594e8a056", "title": "Use AVX512 Galois field affine transformation for bit shuffling", "url": "http://0x80.pl/notesen/2020-01-19-avx512-galois-field-for-bit-shuffling.html", "published_at": "2020-01-19T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-82159507341f", "title": "AVX512 8-bit positional population count procedure", "url": "http://0x80.pl/notesen/2019-12-31-avx512-pospopcnt-8bit.html", "published_at": "2019-12-31T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-8215955dcf07", "title": "SIMDization of switch statements", "url": "http://0x80.pl/notesen/2019-02-03-simd-switch-implementation.html", "published_at": "2019-02-03T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-821595f45ee6", "title": "Malloc internal memory fragmentation footprint", "url": "http://0x80.pl/notesen/2019-02-03-malloc-internal-memory-fragmentation.html", "published_at": "2019-02-03T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-82159655a81a", "title": "Auto-vectorization status in GCC, Clang, ICC and MSVC", "url": "http://0x80.pl/notesen/2019-02-02-autovectorization-gcc-clang.html", "published_at": "2019-02-02T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-821596874ef3", "title": "SIMDized counting byte in byte stream", "url": "http://0x80.pl/notesen/2019-01-29-simd-count-byte.html", "published_at": "2019-01-29T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-821596ee99d3", "title": "std::function and overloaded functions", "url": "http://0x80.pl/notesen/2019-01-23-std-function-problems.html", "published_at": "2019-01-23T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-821597406049", "title": "pyahocorasick stabilisation story", "url": "http://0x80.pl/notesen/2019-01-08-pyahocorasick-debugging.html", "published_at": "2019-01-08T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-82159810b340", "title": "C++ --- how to read a file into a string", "url": "http://0x80.pl/notesen/2019-01-07-cpp-read-file.html", "published_at": "2019-01-07T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-821598dabcca", "title": "AVX512VBMI --- remove spaces from text", "url": "http://0x80.pl/notesen/2019-01-05-avx512vbmi-remove-spaces.html", "published_at": "2019-01-05T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-8215994387bb", "title": "Python --- file modification time perils", "url": "http://0x80.pl/notesen/2018-11-24-python-stat-float.html", "published_at": "2018-11-24T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-8215999618d1", "title": "SIMDized sum of all bytes in the array --- part 2: signed bytes", "url": "http://0x80.pl/notesen/2018-11-18-sse-sumbytes-part2.html", "published_at": "2018-11-18T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-82159a2d91d6", "title": "How many uops are there?", "url": "http://0x80.pl/notesen/2018-11-18-skylakex-uops.html", "published_at": "2018-11-18T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-82159b12d960", "title": "A short report from code::dive 2018", "url": "http://0x80.pl/notesen/2018-11-15-code-dive-2018.html", "published_at": "2018-11-18T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-82159b25f5d2", "title": "Speeding up multiple vector operations using SIMD", "url": "http://0x80.pl/notesen/2018-11-14-simd-multiple-vector-ops.html", "published_at": "2018-11-14T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-82159b84ddfd", "title": "SIMD --- why you shouldn't use static vector constants", "url": "http://0x80.pl/notesen/2018-10-28-cpp-static-vectors.html", "published_at": "2018-10-28T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-82159bcfab9f", "title": "SIMDized sum of all bytes in the array", "url": "http://0x80.pl/notesen/2018-10-24-sse-sumbytes.html", "published_at": "2018-10-24T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-82159c3aae3d", "title": "SIMDized check which bytes are in a set", "url": "http://0x80.pl/notesen/2018-10-18-simd-byte-lookup.html", "published_at": "2018-10-18T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-82159d19a036", "title": "Finding index of the minimum value using SIMD instructions", "url": "http://0x80.pl/notesen/2018-10-03-simd-index-of-min.html", "published_at": "2018-10-03T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-82159d19b2f6", "title": "AVX512 mask registers support in compilers", "url": "http://0x80.pl/notesen/2018-05-18-avx512-ktest-in-compilers.html", "published_at": "2018-05-18T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-82159d3e9bfb", "title": "AVX512 implementation of JPEG zigzag transformation", "url": "http://0x80.pl/notesen/2018-05-13-avx512-jpeg-zigzag-transform.html", "published_at": "2018-05-13T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-82159ddc0320", "title": "Be careful with directory_iterator", "url": "http://0x80.pl/notesen/2018-04-28-be-careful-with-dir-iterator.html", "published_at": "2018-04-28T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-82159e270866", "title": "Parsing series of integers with SIMD", "url": "http://0x80.pl/notesen/2018-04-19-simd-parsing-int-sequences.html", "published_at": "2018-04-19T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-82159ea863d1", "title": "Accidental recursion", "url": "http://0x80.pl/notesen/2018-04-14-accidental-recursion.html", "published_at": "2018-04-14T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-82159f9bce6b", "title": "Is sorted using SIMD instructions", "url": "http://0x80.pl/notesen/2018-04-11-simd-is-sorted.html", "published_at": "2018-04-11T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-8215a0078aa3", "title": "When lock does not lock --- C++ story", "url": "http://0x80.pl/notesen/2018-03-26-when-lock-does-not-lock.html", "published_at": "2018-03-26T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-8215a0d13156", "title": "An awful part of C++17", "url": "http://0x80.pl/notesen/2018-03-16-awful-part-of-cpp.html", "published_at": "2018-03-16T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-8215a181250d", "title": "Intersection of ordered sets", "url": "http://0x80.pl/notesen/2018-03-14-set-intersection.html", "published_at": "2018-03-14T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-8215a1dfc62f", "title": "SSE/AVX: absolute value of difference of unsigned integers", "url": "http://0x80.pl/notesen/2018-03-11-sse-abs-unsigned.html", "published_at": "2018-03-11T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-8215a23539e4", "title": "Is power of two --- BMI1 version", "url": "http://0x80.pl/notesen/2018-03-11-is-power-of-two-bmi1.html", "published_at": "2018-03-11T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-8215a30576e2", "title": "A short report from code::dive 2017", "url": "http://0x80.pl/notesen/2017-11-26-code-dive-2017.html", "published_at": "2017-11-26T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-8215a340dff8", "title": "ARM Neon and Base64 encoding & decoding", "url": "http://0x80.pl/notesen/2017-01-07-base64-simd-neon.html", "published_at": "2017-01-07T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-8215a3d1e5dc", "title": "AVX512 --- first bit set in a large array", "url": "http://0x80.pl/notesen/2016-12-22-avx512-sparse-bfs.html", "published_at": "2016-12-22T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-8215a490ba75", "title": "SWAR check if all chars are digits", "url": "http://0x80.pl/notesen/2016-12-21-swar-digits-validate.html", "published_at": "2016-12-21T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-8215a4fdf0fb", "title": "Population count using XOP instructions", "url": "http://0x80.pl/notesen/2016-12-16-xop-popcnt.html", "published_at": "2016-12-16T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-8215a583792c", "title": "SIMD-friendly algorithms for substring searching", "url": "http://0x80.pl/notesen/2016-11-28-simd-strfind.html", "published_at": "2016-11-28T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-8215a62d69af", "title": "What does AVX512 conflict detection do?", "url": "http://0x80.pl/notesen/2016-10-23-avx512-conflict-detection.html", "published_at": "2016-10-23T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-8215a725b5e1", "title": "Detecting bit patterns with series of zeros followed by ones", "url": "http://0x80.pl/notesen/2016-10-16-detecting-bit-pattern.html", "published_at": "2016-10-16T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-8215a7eb4f56", "title": "Byte-wise alignr in AVX512F", "url": "http://0x80.pl/notesen/2016-10-16-avx512-byte-alignr.html", "published_at": "2016-10-16T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-8215a86befe3", "title": "GNU std::string::find is very slow", "url": "http://0x80.pl/notesen/2016-10-08-slow-std-string-find.html", "published_at": "2016-10-08T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-8215a92da096", "title": "Sorting an AVX512 register", "url": "http://0x80.pl/notesen/2016-10-08-avx512-sort-register.html", "published_at": "2016-10-08T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-8215a993788b", "title": "AVX512F base64 coding and decoding", "url": "http://0x80.pl/notesen/2016-09-17-avx512-foundation-base64.html", "published_at": "2016-09-17T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-8215aa2d5c26", "title": "SIMD bit mask", "url": "http://0x80.pl/notesen/2016-09-14-simd-bit-mask.html", "published_at": "2016-09-14T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-8215aa5b16c9", "title": "Building a bitmask", "url": "http://0x80.pl/notesen/2016-09-14-building-bitmask.html", "published_at": "2016-09-14T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-8215aa642eca", "title": "Base64 encoding & decoding using AVX512BW instructions", "url": "http://0x80.pl/notesen/2016-04-03-avx512-base64.html", "published_at": "2016-04-03T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-8215aa89a4a0", "title": "Implementing byte-wise lookup table with PSHUFB", "url": "http://0x80.pl/notesen/2016-03-13-simd-lookup-pshufb.html", "published_at": "2016-03-13T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-8215ab7bb141", "title": "Base64 decoding with SIMD instructions", "url": "http://0x80.pl/notesen/2016-01-17-sse-base64-decoding.html", "published_at": "2016-01-17T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-8215ac4af332", "title": "Base64 encoding with SIMD instructions", "url": "http://0x80.pl/notesen/2016-01-12-sse-base64-encoding.html", "published_at": "2016-01-12T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-8215ad2921bb", "title": "Speeding up letter case conversion", "url": "http://0x80.pl/notesen/2016-01-06-swar-swap-case.html", "published_at": "2016-01-06T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-8215ad426908", "title": "Fast conversion of floating-point values to string", "url": "http://0x80.pl/notesen/2015-12-29-float-to-string.html", "published_at": "2015-12-29T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-8215ae2c4ff7", "title": "Base64 encoding --- implementation study", "url": "http://0x80.pl/notesen/2015-12-27-base64-encoding.html", "published_at": "2015-12-27T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-8215af033cab", "title": "Benefits from the obsession", "url": "http://0x80.pl/notesen/2015-12-13-obsession.html", "published_at": "2015-12-13T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-8215afb7e4c7", "title": "Implicit conversion --- the enemy", "url": "http://0x80.pl/notesen/2015-11-28-implicit-conversion.html", "published_at": "2015-11-28T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-8215b0b78137", "title": "Another C++ nasty feature", "url": "http://0x80.pl/notesen/2015-11-22-another-cpp-nasty-feature.html", "published_at": "2015-11-22T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-8215b12b22ac", "title": "Short report from code::dive 2015", "url": "http://0x80.pl/notesen/2015-11-15-code-dive.html", "published_at": "2015-11-15T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-8215b1e948b8", "title": "Boolean function for the rescue", "url": "http://0x80.pl/notesen/2015-10-25-boolean-functions.html", "published_at": "2015-10-25T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-8215b228c875", "title": "Tricky mistake", "url": "http://0x80.pl/notesen/2015-05-25-tricky-mistake.html", "published_at": "2015-05-25T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-8215b2fdcf4c", "title": "Speeding up bit-parallel population count", "url": "http://0x80.pl/notesen/2015-04-13-faster-popcount-for-large-data.html", "published_at": "2015-04-13T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-8215b317831c", "title": "SIMD-ized searching in unique constant dictionary", "url": "http://0x80.pl/notesen/2015-04-08-simd-search.html", "published_at": "2015-04-08T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-8215b3fef651", "title": "SIMD: detecting a bit pattern", "url": "http://0x80.pl/notesen/2015-03-22-simd-pattern.html", "published_at": "2015-03-22T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-8215b4c7e6a4", "title": "Compiler warnings are your future errors", "url": "http://0x80.pl/notesen/2015-03-22-compiler-warnings.html", "published_at": "2015-03-22T11:00:00+00:00" }, { "id": "01a0871c-e979-72e1-ab1b-8215b55763f9", "title": "AVX512: ternary functions evaluation", "url": "http://0x80.pl/notesen/2015-03-22-avx512-ternary-functions.html", "published_at": "2015-03-22T11:00:00+00:00" } ] posts Claim your blog
Back to 0x80.pl
Blog · corpus.blog/blogs/0x80.pl/posts

0x80.pl

0x80.pl

2026

2025

2024

2023

2022

2021

2020

2019

2018

2017

2016

2015