Свежие комментарии
Title | Comment |
---|---|
Не, вы вероятно не так |
Не, вы вероятно не так поняли. То есть ZFS конечно есть, но он на этой машине нежатый. А речь идет о распаковке RAW-файлов от цифровых фотокамер. Там чужой код (dcraw), под который подложен собственный I/O layer. И я сегодня приделал туда тайминг, чтобы видеть сколько времени занимает собственно распаковка, а сколько - постпроцессинг, а то профайлером это смотреть мучительно. Так вот, lossless jpeg (который huffman внутри) распаковывается этим чужим кодом с помощью fgetc() в цикле. Который у меня превращается или в getc_unlocked() или в buf[buf++] (во втором случае buf сделан mmap-ом). А, да, если Linux и многопоточная программа, то FILE I/O весь в локах (ненужных) и скорее всего mmap выиграет (потому что реально тормозит на локах). И в винде тем более выиграет. А в 8-й FreeBSD локи в этом месте сделаны лучше. |
распаковка хоффмана - это у |
распаковка хоффмана - это у вас ZFS наверное, там много чего может оказаться если цепочка буферов настроена неоптимально. А при работе с SSD - у него вроде большой внутренний размер страницы, кто-то говорил что 64К, и оно может плохо ложиться в маленький буфер файла. Но первичны конечно именно ваши экспериментальные замеры. Сферически в вакууме, мапирование в виртуальной памяти - это самый естественный и дешевый доступ, поскольку достигается zero-copy и размер окрестности выбирается автоматически исходя из наличия свободной памяти, кроме того о распараллеливании чтения думает вместо нас операционная система (с тем или иным успехом;) А при чтении файла буфера копируются с места на место, проверяются постоянно границы буфера, указатель (который tell/seek) надо постоянно двигать - масса лишней работы. В яндексе еще больше 10 лет назад индекс читался кусочками с помощью Не знаю как сейчас с mmap64. |
Юзанул прогу dmg2img путем |
Юзанул прогу dmg2img путем ввода как написано на сайте "dmg2img Fallout3.dmg Fallout3.iso" нажал Enter и всё, отлично все сконвертировалось и ISO образ работает идеально, используйте данную прогу для ваших потребностей... |
И еще :), раз уж вы читаете |
И еще :), раз уж вы читаете комментарии, значит подробности могут быть интересны. Если код читает по байтам (для FILE это getc_unlocked), то байтовое чтение и чтение через mmap ( return buf[bufp++]) - примерно одинаково по времени (а основное время там уходит в свисток - в распаковку хаффмана, более гранулярно я уже не бенчмаркал). Т.е. fgetc/getc_unlocker действительно сильно неэффективны. А если код читает кусками (по строкам RAW т.е. несколько килобайт) - то те самые 200-300 миллисекунд разницы на 25 мегабайтах. |
Ну и конечно мой код, который |
Ну и конечно мой код, который с preallocated-буфером работает, может быть не самым оптимальным (зато компактный). |
Да, это SSD. На обычном (хм. |
Да, это SSD. На обычном (хм. обычном массиве, у меня одиночных HDD нету) тоже померяю. UPDATE: а диск не должен никак влиять. Файл маленький, кэш большой, все тайминги - несколько запусков, но первый запуск (с поднятием в кэш) не считается. |
Проблема, скорее всего, в |
Проблема, скорее всего, в том, что нужен процессор с аппаратной поддержкой виртуализации. А ваш - кажется не такой. |
Интересно. Значит у меня |
Интересно. Значит у меня устаревшие воспоминания. |
Помогите плиииз!!! Скачал Мак |
Помогите плиииз!!! Повторюсь - скачал Snow leopard предустановленный для VMWare, подключил! добился какй-то работы, но перезагружается. Появляется яблочко и перезагружается. Вот что хочешь то и делай. В ходе экспериментов удалось избежать перезагрузок, но теперь ругается на процессор. Сбой какой-то, требует по моему 660мегагерц, ну у меня 800, должно хватать. подскажите пожалста, в чём проблема??? |
Дошли руки это место |
Дошли руки это место побенчмаркать. FreeBSD, single thread, файл на 20+ мегабайт. mmap() гораздо медленнее, чем файловый доступ. Т.е. на 20-25 мегабайтном файле - лишние миллисекунд 200-300. Это если просто MAP_PRIVATE. MADV_WILLNEED и MAP_NOCORE несколько улучшают. |
В этот раз я пробовать не стал, а в прошлое гниение битов эт |
В этот раз я пробовать не стал, а в прошлое гниение битов это не помогло. |
сдается мне, что с точки зрения ускорения загрузки (заметног |
сдается мне, что с точки зрения ускорения загрузки (заметного причем) достаточно поменять юзер-профиль (старый прибить), ибо биты *в основном* гниют там. |
В общем случае это +25% к |
В общем случае это +25% к потребной памяти (для 16-битных нежатых raw). Если пользователь такое может позволить себе - то для этого у него имеется отдельный интерфейс на эту тему "читать RAW из буфера в памяти". |
Я вот тоже темный и FILE* |
Я вот тоже темный и FILE* милее всяких цплюсплюсовых наворотов. |
Для домашнего виндовс можно |
Для домашнего виндовс можно не пожалеть времени промониторить все инсталляции Total Uninstall'ом (с момента установки системы конечно, иначе смысла мало). Правда полной деинсталляцией через него я пользовался всего несколько раз, дело не очень надежное (в отличие от sandbox'a), он нужен больше для точечной чистки (типа найти плагин к firefox, который остался где-то в дебрях системы после деинсталляции KAV) А другие sandbox'ы (типа Xenocode, Sandboxie) тоже тормозят? |
Ну одно дело для себя любимого, а другое - как корпоративное |
Ну одно дело для себя любимого, а другое - как корпоративное решение. |
Под VM не работает много всего для меня интересного: CUDA/Op |
Под VM не работает много всего для меня интересного: CUDA/OpenCL (не виртуализируется пока), VTune (хочет настоящих процессорных каунтеров) Руки чешутся, конечно "офис" запихать под VM. В смысле всякую почту, собственно MS-офис и тому подобное. Но опять, есть сомнения, что та же синхронизация аутлука с мобильными устройствами будет *удобной* |
Мы тупо используем виртуальные машины на блейде и тонкие кли |
Мы тупо используем виртуальные машины на блейде и тонкие клиенты. xfreerdp нонче очень хороша, и звуки и диски отдаёт. usb ключи раздаются через какую-то железную приблуду на все vm (тоже прелесть как хороша). |
Именно это и делает ThinApp. Но жить невозможно (не говоря о |
Именно это и делает ThinApp. Но жить невозможно (не говоря о том, что процедура "включить этот sandbox как дефолтный browser" - исключительно ручная и геморойная) |
Хм. Ну я пароль не ввожу. У |
Хм. Ну я пароль не ввожу. У меня автологин настроен. Я включаю компьютер и все. Грузится быстро, система установлена в марте. Но я периодически дефрагментирую диск и подчищаю автозагрузку (всякое гавно пытается туда установить что-нибудь). Надпись welcome висит не более 10 секунд. |
А толку то? Свежая система |
А толку то? Свежая система после ввода пароля до показа десктопа грузится пару секунд, а полугодовой давности - десятки оных. Места на диске мне как раз не жалко. |
Ну в 7 диск чистится |
Ну в 7 диск чистится стандартно утилитой Disk CleanUp. На первой закладке чистим все, на второй точки System Restore. |
После установки CS5 прогон |
После установки CS5 прогон поиска duplicate files результатами не радует. А мусор после Adobe Update убирать тоже приходится, причем до фига его. |
Ну он думает минут по 20, и его лучше пускать с редиректом в |
Ну он думает минут по 20, и его лучше пускать с редиректом в файл |
Спасибо. Поставил cruft, с интересом жду. |
Спасибо. Поставил cruft, с интересом жду. |
Re: Может, что-то в консерватории подправить? (с) |
Угу. Но понятные проблемы с IPC и тормозит, сука. И мелкие глюки местами. Но направление правильное. |
если бы "политика партии" была такая - "для каждой прикладух |
если бы "политика партии" была такая - "для каждой прикладухи генерится сандбокс, в которм она живёт вплоть до момента анинсталяции" а прцедура "записать в системные ресурсы (реестр/длл-ки и всё такое)" была бы достаточно геморройной, то порядка было бы больше. |
Re: Может, что-то в консерватории подправить? (с) |
Похоже у инсталляторов/анинстоллеров стратегия такая - инсталлятор "мониторит" и сбрасывает в лог (типа "анинсталл.дат") всю активность по файлам и реестру. но в процессе жЫзни беда, одним словом. |
Данные из сети принимает счетное количество программ. Экспе |
Данные из сети принимает счетное количество программ. Эксперимент с ThinApp был именно в эту сторону - все что в сеть смотрит упаковать в песочицу. Но неудобно и тормозит. |
Re: Может, что-то в консерватории подправить? (с) |
это да - "агрессивная" дефрагментация скорее убивает диск, чем лечит. а для SSD вообще своя стратегия дефрагментации/оптимизации... если имеющийся дефрагментатор "не умеет SSD", то я бы его туда и не пускал :-) |
Pages
