Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
brucedawson
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
13 ms
·
91.
▲
by
brucedawson
6y ago
Good point. I don't think anybody gave much thought to the title after I came up with it - I suspect it is easy to gloss over during the edit passes. I chose the title so long ago that I can't really remember what I was thinking.
92.
▲
by
brucedawson
6y ago
If the slowdown is sufficiently bad and it's happening on Windows then you can always record an ETW trace ( https://support.google.com/chrome/a/answer/9025467 ) and share it with me. My DMs are open: http
93.
▲
by
brucedawson
6y ago
Watch for nested loops. That's pretty much it. Well that and be aware that if you have two nested loops then one of them had better be looping through log(n) the elements of the other or less. The most common quadratic algorithms have
94.
▲
by
brucedawson
6y ago
On a day-to-day basis the only times that Windows feels slow are: 1) Git operations. These run faster on Linux and I waste some measurable number of seconds/minutes each due to this slowdown, presumably due to slower file operations. 2
95.
▲
by
brucedawson
6y ago
The phrase "I filed a bug" links to a bug database which Microsoft has started to use for performance bugs, especially developer facing. I have been using that quite a bit. They prefer that you use Feedback Hub for most bug report
96.
▲
by
brucedawson
6y ago
Sure, and that is a wonderful ability to have. But what would you do if you got a perf recording from a user who was running a different version of Linux? I was able to load this other person's ETW trace and analyze it with basically z
97.
▲
by
brucedawson
6y ago
The layout can be quite confusing at first. It's well designed, I think, but takes a while to understand automatically. One decision they made (visible at the top of the call stack also) is to not indent for children if there is only o
98.
▲
by
brucedawson
6y ago
Thanks - I was inordinately pleased with that title
99.
▲
by
brucedawson
6y ago
Yep, file system performance is a continued source of frustration, most noticeable when using git. Using Windows Defender exclusions is necessary but not sufficient - it's still slow.
100.
▲
by
brucedawson
6y ago
It could be Stockholm syndrome for sure. I have not used Linux enough lately or OSX basically at all to know what they are like. I know the advantages and the warts of Windows very well, and I know neither for other operating systems. The &
101.
▲
by
brucedawson
6y ago
Good article. I liked this quote: "though big companies try to make sure that the people they hire can solve algorithms puzzles they also incentivize many or most developers to avoid deploying that kind of reasoning to make money."
102.
▲
by
brucedawson
6y ago
Oh absolutely. Source-server/source-indexing is amazing. I use it dozens of times a week when debugging Chrome crash dumps. It's amazing when the correct version of the relevant source code just magically appears. I've blogge
103.
▲
by
brucedawson
6y ago
> Microsoft provides them as a separate download That's not _wrong_, but I think it's misleading. Microsoft provides in such a way that they will automatically download on demand. That is fundamentally different from a manual d
104.
▲
by
brucedawson
6y ago
What did you do for timer coalescing? If every thread can request a custom wakeup time then power consumption goes up. If wakeups are coalesced then what algorithm do you use to coalesce them, and how much movement in wakeup times do you al
105.
▲
by
brucedawson
6y ago
powercfg will indeed report on what programs have raised the timer interrupt frequency. However powercfg (and clockres) both just report on the state at a moment in time. Many programs repeatedly raise and then restore the timer interrupt f
106.
▲
by
brucedawson
6y ago
Interesting reference. I'm not sure I agree with their conclusion that "even the smallest variation in a clocking signal can be enough to create data transfer errors." Citation needed, as the kids say. Turning your computer i
107.
▲
by
brucedawson
6y ago
Functions like GetTickCount() need to read the tick count which is updated by the interrupt. Changing the behavior of GetTickCount() would be difficult and would likely be less efficient. So, NT can't become completely tickless - there
108.
▲
by
brucedawson
6y ago
If you find a bug in Chrome then I'm sure the team would like to know about it. We even have a website for reporting bugs in Chrome - crbug.com. Filing a bug there isn't as flashy as creating a website but it is probably more effe
109.
▲
by
brucedawson
6y ago
Updated. Thanks for the correction.
110.
▲
by
brucedawson
6y ago
When I said "that code was probably broken already" I meant that while the code might currently be working it could suddenly stop working if you upgrade your compiler. Yes, you are free to take that risk, but relying on things not
111.
▲
by
brucedawson
6y ago
BTW, I double checked and I'm reasonably certain that the test failure happened because we started running the test on machines with a lower QueryPerformanceCounter frequency (2.148 MHz) and the simulated counter values then created la
112.
▲
by
brucedawson
6y ago
I'd say that for most bugs there is a fairly clear right/wrong rather than a social construction. This bug contains both, I think. The correct result for round(5.5) is arbitrary. The reason that 6.0 is the correct answer is "
113.
▲
by
brucedawson
6y ago
> These should absolutely be two independent commits. > I think this opportunity was missed. Uh, they were two independent commits. The test in Chromium was fixed in 2017. The change to googletest landed a few weeks ago in 2020. Separ
114.
▲
by
brucedawson
6y ago
FLT_EPSILON is the difference between 1.0f and the next float. With that we can work out the math: - If you add 1.0f to FLT_EPSILON then you get an exact result - If you add 1.0f to FLT_EPSILON * 0.5 then you get a number that cannot be rep
115.
▲
by
brucedawson
6y ago
To expand on this, if you have an integer and you add 0.5 then a round() function has to make a choice, because it is halfway between integers. The IEEE standard says that rounding in general (not just for the round function) should round-t
116.
▲
by
brucedawson
6y ago
"Sometimes there really is an answer that is correct, and in those cases anything less than perfection is just sloppy." Anytime there is a correct answer, and it can be determined exactly (+, -, *, /, sqrt) you should expect
117.
▲
by
brucedawson
6y ago
I recently saw a talk (internal only unfortunately) about how some "minor" changes in sin/cos/whatever functions in Chrome broke multiple web sites. It was things like mapping sites and the "minor" changes in t
118.
▲
by
brucedawson
6y ago
Curious. How do you know if you've added the 8001st warning that indicates that you did something ill-advised? It seems that such a huge warning count makes it very hard for the compiler to tell you things. I've generally found it
119.
▲
by
brucedawson
6y ago
Yep. On Windows that code will misbehave when compiled for x86, but will work "correctly" when compiled for x64, and probably ARM64.
120.
▲
by
brucedawson
6y ago
It's important to note that UIforETW is just my tool for recording ETW traces. The underlying ETW tracing and WPA (the trace viewer) are all Microsoft's. That said, UIforETW definitely fixes some significant issues with recording
More ›