thedeemon: (Default)
[personal profile] thedeemon
С четырьмя ядрами можно не только делать ошибки в четыре раза быстрей, но и сообщать о них слаженным хором:

:)

Date: 2012-05-21 09:17 am (UTC)
From: [identity profile] polycode.livejournal.com
Так вот откуда взялось "ffffffffuuuuuuuu..."!

Date: 2012-05-21 12:56 pm (UTC)
From: [identity profile] spacediver.livejournal.com
Как интересно, а почему так побайтово слаженно?.. Где буферизация?

Date: 2012-05-21 05:10 pm (UTC)
From: [identity profile] thedeemon.livejournal.com
Тут сработал assert, который выводит в stderr, который unbuffered. Использован multithreaded runtime, и видимо он разруливает вывод на stderr из разных потоков. Но что получится вот так буква в букву - такого я сам не ожидал.

Date: 2012-05-21 07:35 pm (UTC)
From: [identity profile] spacediver.livejournal.com
О, про stderr не знал.

Date: 2012-05-21 06:28 pm (UTC)
From: [identity profile] 109.livejournal.com
а вот с Console.WriteLine() такого не бывает. видимо, внутри синхронизация зашита.

Date: 2012-05-21 07:36 pm (UTC)
wizzard: (Default)
From: [personal profile] wizzard
угу. в исходники лазил давно, но в общем сброс буфера в пределах процесса атомарный

Date: 2012-05-21 07:37 pm (UTC)
wizzard: (Default)
From: [personal profile] wizzard
песня кристофера раунд-робина)

Date: 2012-05-21 10:56 pm (UTC)
From: [identity profile] soonts.livejournal.com
На C++ совсем не просто сделать thread-safe logger (не важно куда в консоль или файл), который бы при этом не сильно отражался на производительности.

В других языках, где поддержка многопоточности лучше, задача почти тривиальная (grand central dispatch в objective-c, dispatcher в C#).

Profile

thedeemon: (Default)
Dmitry Popov

April 2026

S M T W T F S
   1 234
567891011
12131415161718
19202122232425
2627282930  

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Apr. 24th, 2026 09:02 am
Powered by Dreamwidth Studios