Точные алгоритмы вот так публично не расскажут — конкурент ведь не спит :) Основные идеи — да, наверняка доступны.
Компании, которые делают такие оптимизации как правило тесно сотрудничают с производителями процессоров (и, что важно, могут себе это позволить). Оптимизации уровня «запросить размер кэша и работать с блоками примерно такого размера» не в счет :)
Кстати, в многозадачной среде кэшированию еще и фоновые задачи палки в колеса вставляют, на консольных платформах активному приложению разрешено этим управлять. Все это получается слишком сложно, чтоб анализировать в данном контексте, да и я в данный момент не обладаю достаточным количеством подготовленной информации.
Однако если есть желание рассказать — с удовольствием почитаю :)
логично ) а поскольку точные алгоритмы кэширования нам никто не расскажет, то мы можем лишь оценить идеальную ситуацию: X = CacheSize/2 в случае с полным проходом и X = CacheSize/4 в случаем с проходом накрест.
Вряд-л там идет захват по 8 байт :) Но, да, такая оптимизация должна ускорить работу. Впрочем она применима практически ко всем рассмотреным функциям.
А еще это уменьшает накладные расходы на организацию цикла.
а) new String(' ', );
б) примерно так: «sw.Start(); Reverse*(s); sw.Stop();». сколько раз и как — там написано ;)
в) вряд-ли это поможет — основной затык в обращениях к памяти, так их будет еще больше и еще менее централизовано. да и склеивание не есть быстрая операция.
Ага, помню я автокоррекцию, когда набирали функциональный анализ в универе, то ворд постоянно менял «Банаховые пространства» на «Банановые пространства» :))
// это было в украинском тексте, в русском не проверял
Просто, субьективно, авторы таких советов ничем не отличаются от советов «да сравните деасмом код под ARM с кодом под x86, делов-то» — говорят непонятно о чем.
Пример флуда вида "-- да почитай закон! — да сам почитай!" брать в комментах по адресу habrahabr.ru/blogs/im/51041/
Кстати да :)
А еще хотелось бы узнать, есть ли юристы среди спорящих на хабре о всяких судах и законах. Или люди просто так, пофлудить и сказать умных слов пришли :)))
ну можно пробовать компилить отдельные куски, которые не завязаны на winapi, но тут надо искать специалистов с инструментарием по symbian. Я таковым не являюсь и лезть туда не буду :)
просто когда компании надо сделать качественный продукт, морально-этичейские аспекты отношения тестировщика и приложения мало кого волнуют :) в отличие от официального законодательства.
Ну это все равно не отменяет факта публикации версии 1.15 (гуглокэш). И как говорили выше, файл подписан сертификатом Mail.Ru с подписью Nokia/Symbian.
Компании, которые делают такие оптимизации как правило тесно сотрудничают с производителями процессоров (и, что важно, могут себе это позволить). Оптимизации уровня «запросить размер кэша и работать с блоками примерно такого размера» не в счет :)
Кстати, в многозадачной среде кэшированию еще и фоновые задачи палки в колеса вставляют, на консольных платформах активному приложению разрешено этим управлять. Все это получается слишком сложно, чтоб анализировать в данном контексте, да и я в данный момент не обладаю достаточным количеством подготовленной информации.
Однако если есть желание рассказать — с удовольствием почитаю :)
А еще это уменьшает накладные расходы на организацию цикла.
б) примерно так: «sw.Start(); Reverse*(s); sw.Stop();». сколько раз и как — там написано ;)
в) вряд-ли это поможет — основной затык в обращениях к памяти, так их будет еще больше и еще менее централизовано. да и склеивание не есть быстрая операция.
А Apple в первую очередь делает компьютеры (ну и прочие железки), внутри которых находится их ОС :)
// это было в украинском тексте, в русском не проверял
Пример флуда вида "-- да почитай закон! — да сам почитай!" брать в комментах по адресу habrahabr.ru/blogs/im/51041/
А еще хотелось бы узнать, есть ли юристы среди спорящих на хабре о всяких судах и законах. Или люди просто так, пофлудить и сказать умных слов пришли :)))
А в стране все законы публичны и должны иметь максимально корректную формулировку.
Да, и я не являюсь юристом. Поэтому не собираюсь спорить в чуждой мне предметной области :)