Daniel Lemire Profile Banner
Daniel Lemire Profile
Daniel Lemire

@lemire

Followers
21,465
Following
1,348
Media
1,910
Statuses
28,199

Computer science professor at @TELUQ (Université du Québec, @ReseauUQ ), programmer, blogger. @Nasorg 👨‍💻

Montreal, Quebec
Joined November 2007
Don't wanna be here? Send us removal request.
Explore trending content on Musk Viewer
@lemire
Daniel Lemire
2 years
Quebec is lifting its universal mask mandate tonight at midnight. The mandate lasted 666 days.
965
3K
12K
@lemire
Daniel Lemire
1 year
Actual email exchange I just had.
Tweet media one
108
1K
12K
@lemire
Daniel Lemire
3 months
Your operating system, your browser, your database engine, your web server, git, your JavaScript engine, your Python interpreter… all of these are likely written in C/C++. I repeatedly encourage people to learn many programming languages. I do not (at all) think that C or C++…
@bmcnett
bmcnett
3 months
people here talking about how C/C++ is unsafe, no good, don't learn it Your browser was written in C. Your OS was written in C. AAA games are in C. game engines are in C. "safe" languages are (or were) in C. Your art tools, written in C. Audio tools, C.
211
269
4K
104
249
3K
@lemire
Daniel Lemire
1 month
When Java became popular, people (me included) claimed that it was massively better than C/C++. This was highly controversial and people mocked me for using Java. I was hammered by the referees during my first grant application for picking Java as my language of choice. In some…
217
258
3K
@lemire
Daniel Lemire
4 years
"Data Engineering at the Speed of Your Disk", my talk at the 3rd Performance Summit (supposedly in Seattle but I was in my bedroom with my cat)
3
113
2K
@lemire
Daniel Lemire
4 years
Knuth did it: The Art of Computer Programming, Volume 4, Fascicle 5 is out!!! (Was supposed to come out in 1960.)
28
743
2K
@lemire
Daniel Lemire
11 months
It is hard to overstate how strong the push for object-oriented programming was. It even bled out into other fields like education (look up "learning objects"). You had to organize your programming projects into hierarchical classes and you would be ridiculed if you did not. Java…
@Meaningness
David Chapman
11 months
The older you get, the harder to resist saying "I told you so." When OO programming came in, it made no sense to me, and I've never used it. Everyone said I was too old to understand. Thirty years later, everyone's snapping out of it and wondering wtf they'd been thinking.
222
184
3K
128
231
2K
@lemire
Daniel Lemire
4 years
Tweet media one
5
107
2K
@lemire
Daniel Lemire
10 months
People believe that if they could somehow walk into a research lab, they could then 'steal the knowledge'. It does not work like that. Innovation is illegible. You can go, right now, on many campuses all over the world, just walk in and talk to the professors, the students,…
68
193
1K
@lemire
Daniel Lemire
10 months
Intel is extending its instruction set. "Intel® APX doubles the number of general-purpose registers (GPRs) from 16 to 32. This allows the compiler to keep more values in registers; as a result, APX-compiled code contains 10% fewer loads and more than 20% fewer stores than the…
@medawsonjr
Mark E. Dawson, Jr.
10 months
HOLY MOLY!
11
66
348
27
186
1K
@lemire
Daniel Lemire
5 years
Faster remainders when the divisor is a constant: beating compilers and libdivide paper: code:
Tweet media one
6
91
1K
@lemire
Daniel Lemire
3 months
@AstraKernel There is no need to mention Rust because 50 people will do it in the comments.
15
40
1K
@lemire
Daniel Lemire
1 year
@julianhyde Maybe ChatGPT will write it for me too!
3
5
1K
@lemire
Daniel Lemire
8 months
Don’t EVER make the mistake that you can design something better than what you get from ruthless massively parallel trial-and-error with a feedback cycle. That's giving your intelligence much too much credit. —Linus Torvalds
21
179
1K
@lemire
Daniel Lemire
2 months
You can learn C in a few weeks. Do it. Most people do not become full-time C programmers, and that's a good thing... But C is still in the top 5 most used programming languages and it has been the case for the last 40 years. It is hard to beat as a track record. Let us say you…
Tweet media one
@kopseng
Carl-Erik Kopseng
2 months
@techsavvytravvy @lemire I remember buying "Learn C in 21 days" when I was 17. Used a couple of more weeks, so yeah. But useful? Nah. Took a decade before I had any use for it (compilers), and that's 13 years ago. Being proficient enough to do something useful is a different thing than learning ofc
3
1
22
65
123
1K
@lemire
Daniel Lemire
7 months
C++23:
Tweet media one
53
81
945
@lemire
Daniel Lemire
11 months
Upcoming AMD chips will have 1GB of cache.
Tweet media one
22
65
873
@lemire
Daniel Lemire
4 months
C23: a slightly better C One of the established and most popular programming languages is the C programming language. It is relatively easy to learn, and highly practical. Maybe surprisingly, the C programming language keeps evolving, slowly and carefully. If you have GCC 23 or…
Tweet media one
46
158
847
@lemire
Daniel Lemire
3 months
In C++, a function can return *3* values. Not just two. 😜
Tweet media one
@AndyJessop33500
Andy Jessop
3 months
In Go, a function can return MULTIPLE results?! This is mindblowing 🤯
Tweet media one
344
66
1K
74
26
740
@lemire
Daniel Lemire
2 months
In one of my classes, I always use 42 as a seed. Today, a student asked what was special about 42. Kids don’t know anything.
86
31
735
@lemire
Daniel Lemire
10 months
You cannot compress random data. In fact, that is what random means… if you can compress purely random data, then it is not random.
87
40
716
@lemire
Daniel Lemire
3 months
Learn C. You can learn it in weeks.
@0xglitchbyte
Glitchbyte
3 months
“You dont need to learn C, I didnt” Anyone telling you that is limiting you in favor of their ego Most of the worlds software is in C/C++ Operating systems, browsers, game engines, your favorite programming language Is most likely written in C/C++ It certainly helps to…
135
145
1K
48
39
714
@lemire
Daniel Lemire
4 years
Xor Filters: Faster and Smaller Than Bloom Filters
17
208
635
@lemire
Daniel Lemire
1 year
The Windows Dev Kit 2023 is great. You get this tiny box running a mobile ARM processor (8 cores) with 32 GB of RAM, and 512GB fast NVMe. You get a full Windows: you could not tell that it is not Intel. Microsoft is ready for 64-bit ARM systems. I have…
48
49
557
@lemire
Daniel Lemire
5 years
I have been asked by some organization in France to send a signed letter in three copies. I asked whether I could send a scanned letter by email instead. They agreed. They insisted that it be in 3 copies. So I sent three emails and asked whether it was ok. They said I am good.
27
69
533
@lemire
Daniel Lemire
1 year
I wasted almost half a day of research yesterday because I trusted ChatGPT's answer too much. I asked ChatGPT how to do X using the programming language Y (it is not a secret, but details are irrelevant). The answer looked quite credible and there were references to human experts…
106
65
490
@lemire
Daniel Lemire
3 months
The man who invented the hash table never studied computer science. In fact, he never went to college. Stop making excuses and build stuff.
@jochenleidner
Dr. Jochen L. Leidner
3 months
The German-American inventor Hans Peter Luhn (IBM): - invented hash tables - invented document summarization - invented modern knowledge management - invented KWIC index - invented modulo-10 checksums - invented publish-subscribe alert services AKA "SDI"; all in the 1950s!
1
24
153
9
66
470
@lemire
Daniel Lemire
5 years
Apple's A12 reaches 3.7 instructions per cycle on a bitmap decoding test, that's 40% better than an Intel Skylake. Put another way, the 2.5 GHz A12 retires instructions like a 3.5 GHz Intel Skylake. cc @vielmetti @thecomp1ler @geofflangdale @trav_downs @stephentyrone
Tweet media one
14
123
417
@lemire
Daniel Lemire
1 year
Intel wants to go full 64 bits and drop legacy modes…
23
73
418
@lemire
Daniel Lemire
1 year
The ARM-based servers (e.g., graviton 3) on AWS appear to also default on 4 kB page sizes. That's unfortunate because it makes memory allocation and page faults more expensive/likely. With Linux, you can use transparent huge pages, however, and this can be tremendous benefits in…
Tweet media one
@jarredsumner
Jarred Sumner
1 year
people like to talk about the M1’s CPU performance but ignore the perf benefits from page size grow from 4096 -> 16 KB Page faults are expensive and not much desktop software uses < 16KB anyway
13
11
237
13
46
405
@lemire
Daniel Lemire
11 months
When nearly the entire world required face coverings, Sweden did not. When nearly all countries closed schools, they did not. Many predicted that Sweden would be a catastrophe. Today we know that Sweden has one of the lowest excess mortality in the world, same as Japan and South…
Tweet media one
Tweet media two
@lemire
Daniel Lemire
11 months
The USA would have had 1.50 million fewer deaths if it had the performance of Sweden during the pandemic.
3
5
28
23
83
407
@lemire
Daniel Lemire
1 year
Safer than Rust, Newer than Zig, Prettier than Python. Unlike Cython, it has a corporate website. Go Modular!
@vzverovich
🤍❤️🤍 🇺🇦 vic𓂿or
1 year
New C++ successor language just dropped 🔥
47
40
528
22
25
392
@lemire
Daniel Lemire
2 months
Learn C programming. Write a small program. Change the world.
@bagder
daniel:// stenberg://
2 months
Tweet media one
36
307
3K
13
29
368
@lemire
Daniel Lemire
1 year
"But Daniel, how do I divide two integers in C++?" I got you covered...
Tweet media one
@lemire
Daniel Lemire
1 year
Apparently, it is how you compute the integer division of 455 by 10 in JavaScript. The answer was upvoted 27 times. I don't know what to think at this point.
Tweet media one
28
19
288
12
19
368
@lemire
Daniel Lemire
3 years
Reminder: open-source projects are not a source of free technical support. If there is no documentation, offer to write some. If some function is missing, offer to write it. Do not demand that functionality be added, that documentation be provided… unless you are willing to pay.
10
73
361
@lemire
Daniel Lemire
3 months
Measuring energy usage: regular code vs. SIMD code Modern processor have fancy instructions that can do many operations at one using wide registers: SIMD instructions. Intel and AMD have 512-bit registers and associated instructions under AVX-512. You expect these instructions…
Tweet media one
11
31
359
@lemire
Daniel Lemire
1 year
No, GitHub. This is not "commented-out code". This comment tells the reader that k is equal to b2->arraysize. I am really starting to hate this trend of overbearing static analysis.
Tweet media one
25
13
350
@lemire
Daniel Lemire
6 months
Only some people will catch this joke:
Tweet media one
14
36
347
@lemire
Daniel Lemire
1 year
You can write C++/Rust/Go/Java code that is much slower than Python. So please use Python if it is fast enough for your needs. Do not assume that "written in Rust/C/C++" means "fast and efficient". It does not.
@kobi_ca
Yacob (Kobi) Cohen-Arazi ✡️🇺🇲
1 year
Python Faster Than C++: an Edge Case by Pratik Mahamuni in @BttrProgramming
4
7
52
39
38
339
@lemire
Daniel Lemire
1 month
In C++, you can specify that a returned value cannot be ignored: [[nodiscard]] int important(); Well. Except that you might now do... std::ignore = important(); :-)
@mrkkrj
Marek Krajewski
1 month
std::ignore = nondiscardable(); // C++26
1
0
16
43
19
313
@lemire
Daniel Lemire
3 months
Do not update your Visual Studio to the latest version. C/C++ code may wrongly compile to AVX-512 instructions under Visual Studio. Since not all hardware has AVX-512 support, this is causing crashes all over. Bug:
14
49
309
@lemire
Daniel Lemire
7 months
This talk by Stonebraker (the guy behind PostgreSQL) should be a classic.
Tweet media one
5
51
304
@lemire
Daniel Lemire
1 year
And we finally learn the horrible truth: C++ conferences do not run on C++ software. They use Python !!!
@dyaroshev
Denis Yaroshevskiy
1 year
. @CppCon - the submission form seems to be erroring out:
Tweet media one
5
1
12
27
29
299
@lemire
Daniel Lemire
4 months
Currently, programmers who build new systems have higher status than people who maintain existing systems. In some companies, to quickest path to promotion is to build new software. More advanced automated code generation might change the prestige hierarchy. AI reveals that…
@richardstartin
Richard Startin
4 months
I expect LLMs to eventually increase the status of the maintenance programmer. Partial or complete automation of code creation will lead to regulatory pressure for *someone* to understand systems in certain critical domains- a skill set not unlike maintenance programming.
3
5
47
21
36
300
@lemire
Daniel Lemire
5 years
This how excel is meant to be used!
Tweet media one
13
47
293
@lemire
Daniel Lemire
1 year
Apparently, it is how you compute the integer division of 455 by 10 in JavaScript. The answer was upvoted 27 times. I don't know what to think at this point.
Tweet media one
28
19
288
@lemire
Daniel Lemire
1 month
@jordanebelanger Java wasted a lot of time playing with user interfaces... and getting it wrong time and time again.
5
1
291
@lemire
Daniel Lemire
10 months
@jeffreyatucker Taleb and @tylercowen were major disappointments. Also @reason for their approval of vax passports both in print and in their podcasts.
Tweet media one
23
24
279
@lemire
Daniel Lemire
7 months
Shamefully, I was stuck for a long time, unable to write a small web app in C++. Turns out that it is easy enough.
Tweet media one
19
18
279
@lemire
Daniel Lemire
1 year
Kids in 2050... "Why are we using 4kB pages on our computers when we have 12 Terabytes of RAM ?" Old folks like me... "Well, see, back in 1980, we thought that 4kB was good... and it is too late today to change it. Sorry. It is now a constant of the universe."
@wollmersdorfer
Helmut Wollmersdorfer
1 year
@lemire 4 KB as page size was usual around 1980 on mainframes with 16 MB memory. I wrote an asynchronous transaction system with own memory pool at this time. 10 years later the page size was increased.
0
0
25
11
18
279
@lemire
Daniel Lemire
11 months
Parsing IP addresses crazily fast Most of us are familiar with IP addresses: they are strings of the form “ddd.ddd.ddd.ddd” where ddd is a decimal number of up to three digits in the range 0 to 255. For example, 127.0.0.1 or 192.168.0.2. Each of the four number is a byte value,…
11
44
276
@lemire
Daniel Lemire
3 years
My blog post was badly wrong. I should have written: 1. The Apple M1 is a match for Intel/AMD AVX2. 2. Apple’s x64 emulation layer is so good that I mistakenly benchmarked under it without realizing it. Lessons learned. Cc @thecomp1ler @trav_downs @stephentyrone @Gok
11
20
263
@lemire
Daniel Lemire
3 years
At my school, overall revenues are up 35% over 7 years. Spending on teaching and research went down 0.5% while management's budget is up by 64%. We have more reports and more meetings than ever. It appears to be the same trend everywhere in higher education?
19
54
254
@lemire
Daniel Lemire
2 years
Parsing JSON faster with Intel AVX-512 Release 2.0.0. Minification at 12 GB/s, find_tweet benchmark at 7.4 GB/s. cc @jkeiser2 @geofflangdale
8
47
254
@lemire
Daniel Lemire
2 months
It looks like mold will make our builds faster. It is a super fast linker.
Tweet media one
@mrkkrj
Marek Krajewski
2 months
mold: A Modern Linker "mold is a faster drop-in replacement for existing Unix linkers. It is several times quicker than the LLVM lld linker, the second-fastest open-source linker..."
2
24
160
8
14
257
@lemire
Daniel Lemire
1 year
Hotspot performance engineering fails cc @cmuratori @strager
10
48
249
@lemire
Daniel Lemire
9 months
Programming languages such as JavaScript, C++ and C are standards with multiple competing implementations. Programming languages such as C#, Scala, Go, Swift, Rust, PHP are mostly single-vendor. I recommend learning JavaScript, C and C++ among other programming languages.
46
27
246
@lemire
Daniel Lemire
7 months
Tests cannot generally show that your code is bug-free.
Tweet media one
13
24
246
@lemire
Daniel Lemire
11 months
Parsing time stamps faster with SIMD instructions In software, it is common to represent time as a time-stamp string. It is usually specified by a time format string. Some standards use the format %Y%m%d%H%M%S meaning that we print the year, the month, the day, the hours, the…
7
32
247
@lemire
Daniel Lemire
1 year
Expected performance of a Bloom filter A hash function is a function that maps a value (such as a string) to an integer value. Typically, we want random-looking values. A Bloom filter is a standard data structure in computer science to approximate a set. Basically, you start…
3
39
245
@lemire
Daniel Lemire
3 months
Book review: Theft of Fire by @Devon_Eriksen_ When I was young, science fiction was the genre of choice for many engineers and scientists. But the genre declined significantly in recent years. Part of the problem is the rise dystopian fiction. In the imagined future, we are no…
Tweet media one
12
32
243
@lemire
Daniel Lemire
1 month
Identifying a useless delay of hundreds of milliseconds saved the world. Benchmarking saves lives. @yagiznizipli
@matiasgoldberg
Matías N. Goldberg
1 month
I'm still in shock the xz backdoor happened. But even more surprising is that it got caught because a dev noticed login in to his machine via ssh was taking 0.8s instead of the usual 0.3s and decided to look into it. And he happened to be familiar with the Valgrind situation
26
410
6K
1
24
243
@lemire
Daniel Lemire
8 months
Transcoding Unicode strings at crazy speeds with AVX-512 In software, we store strings of text as arrays of bytes in memory using one of the Unicode Transformation Formats (UTF), the most popular being UTF-8 and UTF-16. We must constantly convert our strings from UTF-8 to UTF-16…
7
28
235
@lemire
Daniel Lemire
1 year
2
1
234
@lemire
Daniel Lemire
9 months
Vinay is correct. Science is fundamentally honour-based. Most researchers, me included, spot dubious work all the time. Calling it out publicly is a massive time sink. So science has no error correction per se. Bad ideas linger and they are only displaced, over long periods, by…
@VPrasadMDMPH
Vinay Prasad MD MPH
9 months
Agree with Nate. Also think many academics do not read other people's work much. They are so focused on their own grants. And the culture of being a sycophant is common. See also med Twitter
5
13
134
12
50
229
@lemire
Daniel Lemire
2 months
There are many ways in JavaScript to read a file. I wrote a small benchmark where I repeated read a file from disk. It is a simple loop where the same file is accessed each time. I report the number of milliseconds needed to read the file 50,000 times.  The file is relatively…
Tweet media one
14
27
221
@lemire
Daniel Lemire
10 days
If you think that performance does not matter, watch this video by @jarredsumner comparing the performance of his fast JavaScript runtime with the standard Node.js runtime. You see why we care? cc @yagiznizipli
@jarredsumner
Jarred Sumner
10 days
Calling fetch(url) 15,000 times, in batches of 50 left: Bun v1.1.7 right: Node v22
51
116
2K
32
25
407
@lemire
Daniel Lemire
10 months
Recognizing string prefixes with SIMD instructions Suppose that I give you a long list of strings (e.g., “A”, “A6”, “AAAA”, “AFSDB”, “APL”, “CAA”, “CDS”, “CDNSKEY”, “CERT”, “CH”, “CNAME”, “CS”, “CSYNC”, “DHC”, etc.). I give you a pointer inside a much larger string and I ask you…
Tweet media one
14
36
219
@lemire
Daniel Lemire
5 years
Despite having 20 years of experience with C++, when I compile a non trivial chunk of code for the first time without any error or warning, I am suspicious. It is not, usually, a good sign.
8
24
217
@lemire
Daniel Lemire
14 days
Careful with Pair-of-Registers instructions on Apple Silicon @EgorBo is an engineer working on C# compiler technology at Microsoft. He had an intriguing remark about a performance regression on Apple hardware following what appears to be an optimization. The .NET 9.0 runtime…
Tweet media one
Tweet media two
Tweet media three
Tweet media four
5
26
219
@lemire
Daniel Lemire
1 month
Programming with iterators sounds like a good idea on paper... but in practice, it has limited usability. This is true irrespective of the programming language.
@Love2Code
Maxime Chevalier
1 month
I hate it when languages try to be "smart" and return some weird type when I'm expecting an array/list. It's super awkward to have to deal with some LazyWeirdVoodooShitIterator or FunkyWeirdIterable that's not interchangeable with a normal f'ing list.
24
27
380
39
10
216
@lemire
Daniel Lemire
5 months
Measuring the size of the cache line empirically Our computers do not read or write memory in units of bits or even bytes. Rather memory is accessed in small blocks of memory called “cache line”. For a given system, the cache line size is usually fixed and small (e.g.,  16 to…
Tweet media one
10
34
212
@lemire
Daniel Lemire
3 years
New release of the simdjson library: version 1.0. Parse JSON multiple times faster. Help fight climate change by using several times less energy. cc @jkeiser2 , @geofflangdale
Tweet media one
Tweet media two
5
39
212
@lemire
Daniel Lemire
1 year
1
0
209
@lemire
Daniel Lemire
10 days
Hotspot performance engineering fails: Developers often believe that software performance follows a Pareto distribution: 80% of the running time is spent in 20% of the code. Using this model, you can write most of your code without any care for performance and focus on the…
@yagiznizipli
Yagiz Nizipli
10 days
“Is performance really the bottle neck of X?” - This question will eventually make me stop contributing to open-source software. I can’t and will not understand why people are against fast code, and accepting slowness.
25
15
242
26
49
341
@lemire
Daniel Lemire
2 years
My oldest boy (18) is interested in learning more about cybersecurity, cryptography and stuff. What is a good book to get started?
84
30
206
@lemire
Daniel Lemire
10 months
@FrankGrimes_Jr @atRachelGilmore Major measles epidemic in the region of Quebec despite a 99% vaccine coverage "The vaccination coverage among cases was at least 84.5%. Vaccination coverage for the total population was 99.0%. Incomplete vaccination coverage is not a valid explanation for the Quebec City measles…
12
12
206
@lemire
Daniel Lemire
18 days
« C (along w/ C++) is far more ubiquitous than COBOL ever was, and it has been the bedrock of most important software technology for pretty close to 50 years. You might think that’s hyperbole, but it absolutely is not. Currently, Python has been the world’s most popular…
18
26
212
@lemire
Daniel Lemire
3 months
@raphaelvalentin C/C++ are common in avionics.
Tweet media one
2
0
208
@lemire
Daniel Lemire
5 years
Here is what came in the mail:
Tweet media one
7
9
199
@lemire
Daniel Lemire
2 months
Irrespective of your programming language, watching dynamic memory allocation... is a good practice. As much as possible, allocate all memory at the start and stop there. Programming languages like C and Zig that force you to make memory allocation explicit are helpful. In…
@bmcnett
bmcnett
2 months
think of malloc/free as so expensive, they might as well be filesystem APIs. use sparingly, like fopen/fclose
3
12
176
6
13
191
@lemire
Daniel Lemire
29 days
The following is likely to compile to only a handful of instructions and it is hard to beat in terms of performance.
Tweet media one
@TheMemeloper
Memeloper
29 days
Is there a better way to do this?
Tweet media one
840
76
1K
33
1
192
@lemire
Daniel Lemire
12 days
Red Hat Enterprise Linux 9 and Rocky Linux 9 require x86-64-v2 on x64 platforms which means that they assume - SSSE3, - POPCNT, - SSE4_1, - SSE4_2, - CMPXCHG16B. Software built on these system will not run on older CPUs. This is a good thing: we should not be continuously…
18
25
199
@lemire
Daniel Lemire
8 months
Parsing integers quickly with AVX-512 Gist: you can be at least 2x faster than conventional functions.
9
17
185
@lemire
Daniel Lemire
1 month
@JoaoSilvaMeu Minecraft was written in Java.
19
3
190
@lemire
Daniel Lemire
6 months
Parsing 8-bit integers quickly Suppose that you want to parse quickly 8-bit integers (0, 1, 2, …, 254, 255) from an ASCII/UTF-8 string. You are given a string and its length: e.g., ’22’ and length is 2. How fast can you go?
Tweet media one
16
19
184
@lemire
Daniel Lemire
3 years
Number Parsing at a Gigabyte per Second C++ and Rust.
2
43
183
@lemire
Daniel Lemire
9 months
« Code coverage » is utterly useless as a software-quality metric. The only reason I sometimes report it is because some asked to see the number and it takes too long to explain why it is useless.
@strager
strager
9 months
Please stop advertising your high code coverage. It's meaningless for your users. high code coverage ≠ well-tested
Tweet media one
15
7
71
37
15
179
@lemire
Daniel Lemire
1 month
We do not know that sunscreen prevents skin cancer. It has been claimed repeatedly by health agencies and the WHO, but there is no strong evidence behind it. Don't believe me? Here is the conclusion of a recent metastudy (1): "While the current evidence suggests no increased…
@GubbaHomestead
Gubba Homestead
1 month
I don’t wear sunscreen, and I never will. We blame the sun for cancer when we should be blaming our diets. But if we cleaned up our diets, how would Big Food and Big Pharma make their money? Sunscreen and a poor diet will make you sick. Sick people = $$$ Don’t be a pawn.
1K
308
2K
40
19
183
@lemire
Daniel Lemire
4 years
We released a new version of the fastest JSON parsers in the world. Version 0.5 has better performance under Visual Studio, a new UTF-8 validator (lookup4), better support for C++20, we dropped computed GOTOs without reducing the performance, and more
Tweet media one
6
38
180
@lemire
Daniel Lemire
5 years
The AMD Rome processor learns to predict branches almost perfectly within 10 trials (much better than Intel Skylake) credit: @erwanaliasr1
6
61
176
@lemire
Daniel Lemire
3 months
C can be memory-safe by @ErrataRob Forking is a foolish idea. The core principle of computer-science is that we need to live with legacy, not abandon it. And there's no need. Modern C compilers already have the ability to be memory-safe, we just need to make minor -- and…
20
29
182
@lemire
Daniel Lemire
9 months
People who are predicting the end of software programming have no clue.
@deliprao
Delip Rao e/σ
9 months
All coding projects have two parts: 1. The fun part: where you get to "create" 2. The pain part: where you have to debug Code LLMs are "automating" the fun parts while introducing bugs and not helping much with debugging. As a developer, you’re left with more pain to deal with.
147
249
2K
9
21
180
@lemire
Daniel Lemire
4 years
Ridiculously fast unicode (UTF-8) validation Joint work with @jkeiser2 The post credits @pshufb and others.
6
58
177
@lemire
Daniel Lemire
1 year
@Craig_A_Spencer People who went to the hospital were told to come back when their symptoms were critical. No treatment attempted.
16
5
171
@lemire
Daniel Lemire
6 years
Ridiculously fast base64 encoding and decoding
3
60
165