?

Log in

No account? Create an account
   Journal    Friends    Archive    Profile    Memories
 

Питоновское - morfizm


Jun. 20th, 2012 02:29 am Питоновское33 comments - Leave a commentPrevious Entry Share Next Entry

Comments:

From:morfizm
Date:June 20th, 2012 07:10 pm (UTC)
(Link)
Мне очень интересна дистинкция между гарантией, которая гарантия, и всем остальным, которое "как повезёт".

Вот, скажем, в Python, Java, C#, etc, есть garbage collection. Вот вы пишите офигенный real-time application, у вас там и тут хоп, в совершенно случайный, непредсказуемый и неконтролируемый вами момент: 100 мс delay! Уупс? :)

Или ещё интереснее. Вы знаете про garbage collection, поэтому всё перечисленное вы вообще не считаете за языки. Пишите вы по этому поводу на C, но в многозадачной среде. Linux. Кроме вашего процесса почти ничего не работает. Всё у вас прекрасно и замечательно, но вдруг по какой-то непредсказуемой причине, корнями уходящей в глубокую специфику Linux'а, про которую программисту на C знать не нужно (или нужно?) Linux принимает решение высвопить страничку-другую вашего address space (не смотря на то, что свободной памяти у вас полно), и в один прекрасный момент, когда эта страничка понадобилась, происходит hard page fault: 15 мс вынь да положь. А вы вообще в микросекундах время меряете. Ыыыы.

Я всё это к тому, что для реальных гарантий нужно тестировать, изучать взаимодействие, и, как правило, делать ряд хаков, чтобы справляться с непредвиденными неприятными эффектами. Делают это редко, потому что жёсткие гарантии редко, когда нужны.
From:birdwatcher
Date:June 20th, 2012 07:17 pm (UTC)
(Link)
"Карты - это мой хлеб..."