Daniel Lemire's blog

, 12 min read

Index for Year 2018

  1. 2018-01-02: Multicore versus SIMD instructions: the “fasta” case study   🗪
  2. 2018-01-03: Year 2017: technological highlights   🗪
  3. 2018-01-04: Don´t make it appear like you are reading your own recent writes   🗪
  4. 2018-01-05: Can 32-byte alignment alleviate 4K aliasing?   🗪
  5. 2018-01-05: Science and Technology links (January 5th, 2018)   🗪
  6. 2018-01-08: How fast can you bit-interleave 32-bit integers?   🗪
  7. 2018-01-09: How fast can you bit-interleave 32-bit integers? (SIMD edition)   🗪
  8. 2018-01-12: Science and Technology links (January 12th, 2018)   🗪
  9. 2018-01-16: Microbenchmarking calls for idealized conditions   🗪
  10. 2018-01-17: Ridiculously fast base64 encoding and decoding   🗪
  11. 2018-01-19: Science and Technology links (January 19th, 2018)   🗪
  12. 2018-01-21: Microbenchmarking is hard: virtual machine edition   🗪
  13. 2018-01-23: Initializing arrays quickly in Swift: be wary of Sadun´s initializers   🗪
  14. 2018-01-26: Science and Technology links (January 26th, 2018)   🗪
  15. 2018-01-31: Picking distinct numbers at random: benchmarking a brilliant algorithm (JavaScript edition)   🗪
  16. 2018-02-02: Science and Technology links (February 2nd, 2018)   🗪
  17. 2018-02-05: Don´t underestimate the nerds   🗪
  18. 2018-02-10: Science and Technology links (February 9th, 2018)   🗪
  19. 2018-02-17: Science and Technology links (February 16th, 2018)   🗪
  20. 2018-02-21: Iterating over set bits quickly   🗪
  21. 2018-02-24: Science and Technology links (February 24th, 2018)   🗪
  22. 2018-02-28: Vectorized shifts: are immediates faster?   🗪
  23. 2018-03-02: Science and Technology links (March 2nd, 2018)   🗪
  24. 2018-03-08: Iterating over set bits quickly (SIMD edition)   🗪
  25. 2018-03-09: Science and Technology links (March 9th, 2018)   🗪
  26. 2018-03-13: Iterating over hash sets quickly in Java   🗪
  27. 2018-03-16: Science and Technology links (March 16th, 2018)   🗪
  28. 2018-03-23: Science and Technology links (March 23rd, 2018)   🗪
  29. 2018-03-24: When shuffling large arrays, how much time can be attributed to random number generation?   🗪
  30. 2018-03-28: When accessing hash tables, how much time is spent computing the hash functions?   🗪
  31. 2018-03-29: Should you cache hash values even for trivial classes?   🗪
  32. 2018-03-30: Science and Technology links (March 30th, 2018)   🗪
  33. 2018-04-04: Caching hash values for speed (Swift-language edition)   🗪
  34. 2018-04-08: Science and Technology links (April 7th, 2018)   🗪
  35. 2018-04-12: For greater speed, try batching your out-of-cache data accesses   🗪
  36. 2018-04-13: Science and Technology links (April 13th, 2018)   🗪
  37. 2018-04-17: Introducing GapminderVR: Data Visualization in Virtual Reality   🗪
  38. 2018-04-17: Iterating in batches over data structures can be much faster…   🗪
  39. 2018-04-22: Science and Technology links (April 22nd, 2018)   🗪
  40. 2018-04-23: Enough with the intrusive updates!   🗪
  41. 2018-04-26: Why a touch of secrecy can help creative work   🗪
  42. 2018-04-29: Science and Technology links (April 29th, 2018)   🗪
  43. 2018-04-30: Is software prefetching (__builtin_prefetch) useful for performance?   🗪
  44. 2018-05-03: How fast can you parse JSON?   🗪
  45. 2018-05-06: Science and Technology links (May 5th, 2018)   🗪
  46. 2018-05-09: How quickly can you check that a string is valid unicode (UTF-8)?   🗪
  47. 2018-05-11: Science and Technology links (May 11th, 2018)   🗪
  48. 2018-05-14: Is research sick?   🗪
  49. 2018-05-16: Validating UTF-8 strings using as little as 0.7 cycles per byte   🗪
  50. 2018-05-18: Science and Technology links (May 18th, 2018)   🗪
  51. 2018-05-24: Gender and peer review   🗪
  52. 2018-05-24: Graph algorithms and software prefetching   🗪
  53. 2018-05-27: Science and Technology links (May 26th, 2018)   🗪
  54. 2018-05-28: Greater speed in memory-bound graph algorithms with just straight C code   🗪
  55. 2018-06-03: Science and Technology links (June 2nd, 2018)   🗪
  56. 2018-06-07: Vectorizing random number generators for greater speed: PCG and xorshift128+ (AVX-512 edition)   🗪
  57. 2018-06-10: Science and Technology links (June 9th, 2018)   🗪
  58. 2018-06-15: Emojis, Java and Strings   🗪
  59. 2018-06-15: Science and Technology links (June 15th, 2018)   🗪
  60. 2018-06-19: Roaring Bitmaps in JavaScript   🗪
  61. 2018-06-24: Science and Technology links (June 24th, 2018)   🗪
  62. 2018-06-26: Data processing on modern hardware   🗪
  63. 2018-06-29: Science and Technology links (June 29th, 2018)   🗪
  64. 2018-07-02: Predicting the truncated xorshift32* random number generator   🗪
  65. 2018-07-05: How quickly can you compute the dot product between two large vectors?   🗪
  66. 2018-07-05: Income, wealth, intelligence and the fall of the American empire   🗪
  67. 2018-07-06: Science and Technology links (July 6th, 2018)   🗪
  68. 2018-07-11: Are fungi making us sick?   🗪
  69. 2018-07-15: Science and Technology links (July 15th, 2018)   🗪
  70. 2018-07-16: Science and Technology links (July 15th, 2018)   🗪
  71. 2018-07-18: Accelerating Conway´s Game of Life with SIMD instructions   🗪
  72. 2018-07-21: Science and Technology links (July 21st, 2018)   🗪
  73. 2018-07-23: Are vectorized random number generators actually useful?   🗪
  74. 2018-07-25: It is more complicated than I thought: -mtune, -march in GCC   🗪
  75. 2018-07-26: Writing about software and building software are different jobs   🗪
  76. 2018-07-28: Science and Technology links (July 27th, 2018)   🗪
  77. 2018-07-31: Getting 4 bytes or a full cache line: same speed or not?   🗪
  78. 2018-08-04: Science and Technology links (August 4th, 2018)   🗪
  79. 2018-08-10: Science and Technology links (August 10th, 2018)   🗪
  80. 2018-08-15: Fast strongly universal 64-bit hashing everywhere!   🗪
  81. 2018-08-15: The dangers of AVX-512 throttling: a 3% impact on Xeon Gold processors?   🗪
  82. 2018-08-19: Science and Technology links (August 19th, 2018)   🗪
  83. 2018-08-20: Performance of ranged accesses into arrays: modulo, multiply-shift and masks   🗪
  84. 2018-08-22: Avoid lexicographical comparisons when testing for string equality?   🗪
  85. 2018-08-24: Science and Technology links (August 24th, 2018)   🗪
  86. 2018-08-24: Trying harder to make AVX-512 look bad: my quantified and reproducible results   🗪
  87. 2018-08-25: AVX-512 throttling: heavy instructions are maybe not so dangerous   🗪
  88. 2018-09-02: Science and Technology links (September 1st, 2018)   🗪
  89. 2018-09-04: Per-core frequency scaling and AVX-512: an experiment   🗪
  90. 2018-09-07: AVX-512: when and how to use these new instructions   🗪
  91. 2018-09-08: Science and Technology links (September 8th, 2018)   🗪
  92. 2018-09-15: Science and Technology links (September 15th, 2018)   🗪
  93. 2018-09-20: On the state of virtual-reality gaming   🗪
  94. 2018-09-22: Science and Technology links (September 22nd, 2018)   🗪
  95. 2018-09-30: Quickly identifying a sequence of digits in a string of characters   🗪
  96. 2018-09-30: Science and Technology links (September 30th, 2018)   🗪
  97. 2018-10-03: Quickly parsing eight digits   🗪
  98. 2018-10-07: Science and Technology links (October 6th, 2018)   🗪
  99. 2018-10-12: Smart bracelet: my experience with the Mi Band 3   🗪
  100. 2018-10-13: Science and Technology links (October 13th, 2018)   🗪
  101. 2018-10-16: Nobel-prize winner Romer on innovation and higher education   🗪
  102. 2018-10-16: Validating UTF-8 bytes (Java edition)   🗪
  103. 2018-10-19: Validating UTF-8 bytes using only 0.45 cycles per byte (AVX edition)   🗪
  104. 2018-10-20: Science and Technology links (October 20th, 2018)   🗪
  105. 2018-10-23: Is WebAssembly faster than JavaScript?   🗪
  106. 2018-10-28: Science and Technology links (October 28th, 2018)   🗪
  107. 2018-11-03: Science and Technology links (November 3rd, 2018)   🗪
  108. 2018-11-05: Measuring the memory-level parallelism of a system using a small C++ program?   🗪
  109. 2018-11-10: Science and Technology links (November 10th, 2018)   🗪
  110. 2018-11-13: Memory-level parallelism: Intel Skylake versus Apple A12/A12X   🗪
  111. 2018-11-17: Simple table size estimates and 128-bit numbers (Java Edition)   🗪
  112. 2018-11-18: Science and Technology links (November 18th 2018)   🗪
  113. 2018-11-24: Science and Technology links (November 24th 2018)   🗪
  114. 2018-11-29: Quickly sampling from two arrays (C++ edition)   🗪
  115. 2018-12-01: Science and Technology links (December 1st 2018)   🗪
  116. 2018-12-06: Asking the right question is more important than getting the right answer   🗪
  117. 2018-12-08: Science and Technology links (December 8th 2018)   🗪
  118. 2018-12-15: Science and Technology links (December 15th 2018)   🗪
  119. 2018-12-17: Sorting strings properly is stupidly hard   🗪
  120. 2018-12-21: Fast Bounded Random Numbers on GPUs   🗪
  121. 2018-12-22: Science and Technology links (December 22nd 2018)   🗪
  122. 2018-12-29: Science and Technology links (December 29th, 2018)   🗪
  123. 2018-12-30: Important science and technology findings in 2018   🗪