Два слова: Оптимизация!
И встречаем новое поколение прогеров, с института воспитанное писать очередной среде, разработчики которой из предыдущего поколения давно забили на оптимизацию.
Скорее встречаем новое поколение задач, который раньше вообще решения не имели.
Просто им надо запускать старые игры, а не новые!
Таких задач очень мало, встретиться с ними можно лишь в специальных сферах. Ты можешь удивиться узнав какие задачи людям удавалось решать в 80 и в начале 90х на том древнем железе. Можно конечно говорить за компьютерную графику, но даже там не всё так однозначно. Взглянуть хоть на демосцену из нулевых.
А разгадка одна: порог вхождения в новые технологии. Никому не интересны способы что-то сделать, если для этого нужно быть вторым Тьюрингом. Мало кому интересны техологии, которые в состоянии осознать 0.1% комьюнити девелоперов. Наоборот, идеал, это когда любая тп из инъяза может стать программисткой и освоить новый фремворк, знай только книжки свежие подноси, уже сейчас такие мысли в воздухе витают: "А что дескать? Там языки и здесь языки. Программирование похоже на лингвистику."
Кадры являются реальным bottleneck'ом всей айтишной отрасли. Все технологии которые реально снижают требования к интеллектуальным способностям и ускоряют время выхода на рынок готовых решений - все приветствуются на ура. Не важно, что внутри оно косое, кривое, написано кодерами-обезьянками и работает на честном слове. Если ты какой-нибудь менеджер айтишной конторы, ты не имеешь права быть перфекционистом.
А разгадка одна: порог вхождения в новые технологии. Никому не интересны способы что-то сделать, если для этого нужно быть вторым Тьюрингом. Мало кому интересны техологии, которые в состоянии осознать 0.1% комьюнити девелоперов. Наоборот, идеал, это когда любая тп из инъяза может стать программисткой и освоить новый фремворк, знай только книжки свежие подноси, уже сейчас такие мысли в воздухе витают: "А что дескать? Там языки и здесь языки. Программирование похоже на лингвистику."
Кадры являются реальным bottleneck'ом всей айтишной отрасли. Все технологии которые реально снижают требования к интеллектуальным способностям и ускоряют время выхода на рынок готовых решений - все приветствуются на ура. Не важно, что внутри оно косое, кривое, написано кодерами-обезьянками и работает на честном слове. Если ты какой-нибудь менеджер айтишной конторы, ты не имеешь права быть перфекционистом.
Ну давай поговорим для наглядности за графику. На какой-нибудь 386DX40 c видяхой типа Trident 512 в VGA-режиме 320x200x256 простое копирование из памяти в экран удавалось сделать раз 15-20 в секунду. Альфаканал? Сглаживание? Постобработка? Ничего не было. Но поскольку не было и альтернативы, то люди не особо бухтели.
Перейдем к эпохе SVGA. Вроде как возможности выросли, но вместе с ними пришла и боль. Потому что появился новый геморрой из-за целой кучи вариантов кодирования цвета. Два шестнадцатибитных (5-5-5 и 5-6-5), 24 бита (8-8-8), 32 бита (8-8-8-x). На некоторых девайсах еще и вместо RGB было BGR, а некоторые хранили блядские традиции EGA, т.е. четыре банка памяти, в которых пиксель частично кодируется в каждом.
Это в режиме 320x200x256 ты мог просто поставить точку, записав байт в память по адресу 0xA000 + 320 * y + x, а тут уже надо проверять текущий видеорежим и вызывать соответствующую функцию. Можешь открыть исходники графической библиотеки в какой-нибудь Java и посмотреть, сколько там потрачено строк кода на простую постановку точки. ИЧСХ, никто тебе уже и не даст просто так писать в видеопамять напрямую.
Мало? Ну так давай двигаться дальше. С видеопамятью напрямую работать нельзя, так что каждое приложение работает со своим графическим буфером, а потом уже композер все это отрисовывает, учитывая z-index и применяя преобразования (например - масштабирование) и эффекты (например - прозрачность). Даже если брать чисто объемы, то этой самой памяти на кадр стало расходоваться в 130 раз больше (1920*1080*4 / 320 / 200), а на горизонте уже приветливо машет рукой 4k.
И так во всех областях. Одно дело - проигрывать mod/stm, где "ноты" эмулируются скоростью проигрывания семплов (а то и вовсе примитивный midi), совсем другое - декодирование mp3. Одно дело вывести секундую анимированую гифку, совсем другое - декодировать x264. Задачи по сложности отличаются на порядки. А пользователю насрать. Пользователь хочет смотреть видео в разрешении 1080p@60, причем онлайн в окне браузера и чтобы "не тормозило".
Про количество элементов (в т.ч. динамических) на сайтах уже даже и как-то вспоминать неудобно.
А ты говоришь - "программисты"...
Перейдем к эпохе SVGA. Вроде как возможности выросли, но вместе с ними пришла и боль. Потому что появился новый геморрой из-за целой кучи вариантов кодирования цвета. Два шестнадцатибитных (5-5-5 и 5-6-5), 24 бита (8-8-8), 32 бита (8-8-8-x). На некоторых девайсах еще и вместо RGB было BGR, а некоторые хранили блядские традиции EGA, т.е. четыре банка памяти, в которых пиксель частично кодируется в каждом.
Это в режиме 320x200x256 ты мог просто поставить точку, записав байт в память по адресу 0xA000 + 320 * y + x, а тут уже надо проверять текущий видеорежим и вызывать соответствующую функцию. Можешь открыть исходники графической библиотеки в какой-нибудь Java и посмотреть, сколько там потрачено строк кода на простую постановку точки. ИЧСХ, никто тебе уже и не даст просто так писать в видеопамять напрямую.
Мало? Ну так давай двигаться дальше. С видеопамятью напрямую работать нельзя, так что каждое приложение работает со своим графическим буфером, а потом уже композер все это отрисовывает, учитывая z-index и применяя преобразования (например - масштабирование) и эффекты (например - прозрачность). Даже если брать чисто объемы, то этой самой памяти на кадр стало расходоваться в 130 раз больше (1920*1080*4 / 320 / 200), а на горизонте уже приветливо машет рукой 4k.
И так во всех областях. Одно дело - проигрывать mod/stm, где "ноты" эмулируются скоростью проигрывания семплов (а то и вовсе примитивный midi), совсем другое - декодирование mp3. Одно дело вывести секундую анимированую гифку, совсем другое - декодировать x264. Задачи по сложности отличаются на порядки. А пользователю насрать. Пользователь хочет смотреть видео в разрешении 1080p@60, причем онлайн в окне браузера и чтобы "не тормозило".
Про количество элементов (в т.ч. динамических) на сайтах уже даже и как-то вспоминать неудобно.
А ты говоришь - "программисты"...
Я во-первых я сразу признал, что в плане графики нельзя однозначно диагностировать отсутствие достижений. Ты кидаешь простыню из обрывков узкоспециальных знаний, актуальных в середине 90х, не знаю чего ради, наверно пытаясь задавить авторитетом.
Во-вторых у меня был простой мессадж: почти полностью эффект от развития hardware съедается производственной необходимостью постоянно расширяться и привлекать на работу в качестве кодеров всё большее количество людей, с неизменным снижением общего уровня квалификации.
В чем твой месадж? В том, что это не так?
Да мы сейчас можем конечно долго ругаться про графику. Я могу рассказывать то, что в каком-нибудь 2005 все прочили real time rate racing в каждый дом, и действительно фотореалистичную графику на уровне картинок рендеров и кино. Энтузиасты писали простенькие рейтрейсовые движки, демосцена показывала взрывающий мозг эффекты в демках по 64К. Прошло 10 лет, что мы имеем? Всё тот же цирк из ведра шейдерных скриптов, которые пытаются быть похожими на реальность, ничего не имея с ней общего. Ты говоришь 4K... абстрагируясь от холивара консоли vs PC нужно признать, что в массе крупные производители игр с большим бюджетом, хотят делать именно для консолей, потому что там можно заработать больше. Может ещё и для PC но для консолей обязательно. И что же. PS3 как едва тянуло 1080p на железе 2006, так ничего не изменилось в PS4 2014, а Xbox так и вовсе растягивает из 900p. И этот рак тянется от туда на PC. А 30 fps cap? 30 fps cap который вынудил появление в стиме Framerate police? Это просто смешно. А всё потому что производственная необходимость. Нужно выпускать игру на 4 платвормах, а платить за неё криволапым макакам. Так где прогресс? Да его можно заметить по паре тайтлов, но в основном, не так уж легко с одного взгляда отличить скажем игру 2008 от 2015. А если уж взять рынок десктопных приложений... особенно больших корпоративных систем, то там вообще всё грустно.
Ты сейчас можешь накатать мне простыню в ответ, но лучше ответь по существу. Действительно ли ты думаешь, что мы двигаемся вперед семимильными шагами, что прогресс hardware не съедается неуклонно падающим уровнем среднего кодера software.
Во-вторых у меня был простой мессадж: почти полностью эффект от развития hardware съедается производственной необходимостью постоянно расширяться и привлекать на работу в качестве кодеров всё большее количество людей, с неизменным снижением общего уровня квалификации.
В чем твой месадж? В том, что это не так?
Да мы сейчас можем конечно долго ругаться про графику. Я могу рассказывать то, что в каком-нибудь 2005 все прочили real time rate racing в каждый дом, и действительно фотореалистичную графику на уровне картинок рендеров и кино. Энтузиасты писали простенькие рейтрейсовые движки, демосцена показывала взрывающий мозг эффекты в демках по 64К. Прошло 10 лет, что мы имеем? Всё тот же цирк из ведра шейдерных скриптов, которые пытаются быть похожими на реальность, ничего не имея с ней общего. Ты говоришь 4K... абстрагируясь от холивара консоли vs PC нужно признать, что в массе крупные производители игр с большим бюджетом, хотят делать именно для консолей, потому что там можно заработать больше. Может ещё и для PC но для консолей обязательно. И что же. PS3 как едва тянуло 1080p на железе 2006, так ничего не изменилось в PS4 2014, а Xbox так и вовсе растягивает из 900p. И этот рак тянется от туда на PC. А 30 fps cap? 30 fps cap который вынудил появление в стиме Framerate police? Это просто смешно. А всё потому что производственная необходимость. Нужно выпускать игру на 4 платвормах, а платить за неё криволапым макакам. Так где прогресс? Да его можно заметить по паре тайтлов, но в основном, не так уж легко с одного взгляда отличить скажем игру 2008 от 2015. А если уж взять рынок десктопных приложений... особенно больших корпоративных систем, то там вообще всё грустно.
Ты сейчас можешь накатать мне простыню в ответ, но лучше ответь по существу. Действительно ли ты думаешь, что мы двигаемся вперед семимильными шагами, что прогресс hardware не съедается неуклонно падающим уровнем среднего кодера software.
На всякий случай везде и всюду я имею в виду производительность доходящую до конечного пользователя (о которой и был разговор в комиксе). Не про бенчмарки, не про сегмент вычислений на суперкомпьютерах, не про специализированные высоконагруженные системы. Разумеется, что там где нет компромиссов и работают нормальные люди прогресс будет очевиден.
Ок. Объясню проще.
1. Бессмысленно сравнивать монопольное использование экрана одной демкой, залоченной на один видеорежим и приложением, которое должно работать независимо от выставленного видеорежима, параллельно с другими приложениями. Это все равно, что сравнивать ракету для салюта и пассажирский самолет - мол, самолет дороже, тратит кучу топлива и не такой красочный, значит он хуже.
2. Прогресс хардвара съедается как растущими запросами пользователей, так и растущим разнообразием хардвара. Средний уровень кодеров растет.
3. Игры разрабатывают под одну основную платформу, а на остальные все переносится по остаточному принципу. Но даже это - прогресс, потому что раньше портирование производилось в единичных случаях.
3.1. Если ты не можешь отличить игру 2008 от игры 2015, то сходи к окулисту.
1. Бессмысленно сравнивать монопольное использование экрана одной демкой, залоченной на один видеорежим и приложением, которое должно работать независимо от выставленного видеорежима, параллельно с другими приложениями. Это все равно, что сравнивать ракету для салюта и пассажирский самолет - мол, самолет дороже, тратит кучу топлива и не такой красочный, значит он хуже.
2. Прогресс хардвара съедается как растущими запросами пользователей, так и растущим разнообразием хардвара. Средний уровень кодеров растет.
3. Игры разрабатывают под одну основную платформу, а на остальные все переносится по остаточному принципу. Но даже это - прогресс, потому что раньше портирование производилось в единичных случаях.
3.1. Если ты не можешь отличить игру 2008 от игры 2015, то сходи к окулисту.
Одно слово же
Хотя, че я доебался...
Хотя, че я доебался...
Оптимизация в одно слово - это уже оптимизация оптимизации :3
Печально(
Я все-равно не понял :С
Я все-равно не понял :С
У оптимизации и оптимизма один корень.
У них ноут на LGA1366?
Гугл считает, что это i7-4700MQ или что-то около того.
У 4700MQ двухканальный контроллер памяти, т.е. 12 гб будут работать либо в одноканальном режиме, либо в двухканальном асинхронном, что шлак. Да и частоты не сходятся, спека:
Базовая тактовая частота процессора 2.4 GHz
Максимальная тактовая частота с технологией Turbo Boost 3.4 GHz
P.S. под LGA1366 действительно были ноутбуки, ищите у eurocom/dell.
Базовая тактовая частота процессора 2.4 GHz
Максимальная тактовая частота с технологией Turbo Boost 3.4 GHz
P.S. под LGA1366 действительно были ноутбуки, ищите у eurocom/dell.
у меня вот стоит i7-4510u, до 3.1ггц (15ватт). Так что найти и7 с частотой порядка 3.2 в турбобусте без 1366 не сложно.
nope. если есть 4 слота под память и 3+3 гига на каждом канале - то все будет двуканально.
..и это одно и тоже приложение, которое они пытаются запустить с 98го года
internet explorer, internet explorer никогда не .....
Под.....обновление.
возрастающие мощности и удешевление ресурсов порождают говнокодеров
Если разработчик не вылизывает код, он не обязательно говнокодер.
Те самые возрастающие и дешевеющие мощности приводят к тому, что написать две фичи вместо вылизанной одной просто дешевле.
И рациональней, так как вылизывание почти не заметно, а допфича - очень даже.
И работодатели это прекрасно знают.
Те самые возрастающие и дешевеющие мощности приводят к тому, что написать две фичи вместо вылизанной одной просто дешевле.
И рациональней, так как вылизывание почти не заметно, а допфича - очень даже.
И работодатели это прекрасно знают.
Читал, что маркетинг захавал мозг в Кремниевой долине.
:) Мог бы и не читать - он всё и везде захавал. :)
"Все и везде" - подход лоха. Мы книжки читаем что да как.
Удешевление ресурсов порождает возможность удешевить кодирование программ, эти ресурсы использующих.
Для бизнеса всё очень даже логично.
Для бизнеса всё очень даже логично.
Вовсе нет. Потребительский рынок порождает говнокодеров. Скоростной говнокодер - просто идеальный программист для бизнеса потому что имеет высокую скорость создания продукта при низкой себестоимости. Вот вы например - вы написанные на каком языке продукты покупаете? Если бы вместе со всеми продуктами прилагались исходники - обращали бы внимание на качество исходного кода при покупке?
Нет предела совершенству!
150 GHz было бы клево, но на сегодняшний момент технический прогресс достиг максимальной тактовой частоты и производительность процессора увеличивается только за счет параллельных процессов и количества ядер...
Для интресующихся вот ссылка, будете удивлены что процессоры супер компьютеров обладает частой где-то 2,1 - 3,2 GHz (как и большинство домашних юзеров), только вот ядер для параллельных процессов у них просто бешеное количество !
http://www.top500.org/
Для интресующихся вот ссылка, будете удивлены что процессоры супер компьютеров обладает частой где-то 2,1 - 3,2 GHz (как и большинство домашних юзеров), только вот ядер для параллельных процессов у них просто бешеное количество !
http://www.top500.org/
Ага, только нам, пользователям персоналок, этих параллельных процессов не видать еще и очень очень долго, потому что быдлокодинг.
Эммм, ты немного заблуждаешься =)
Количество ядер - напрямую влияет на количество возможных параллельных процессов. Если не ошибаюсь то впервые на рынке процессоры с 2-мя ядрами появились в 2004-м году (гуглить впадло). Сейчас же например Intel i7 обладают 8-ми ядрами и вполне доступны любому среднему обывателю
Количество ядер - напрямую влияет на количество возможных параллельных процессов. Если не ошибаюсь то впервые на рынке процессоры с 2-мя ядрами появились в 2004-м году (гуглить впадло). Сейчас же например Intel i7 обладают 8-ми ядрами и вполне доступны любому среднему обывателю
он имеет ввиду, что никто в подавляющем числе не пишет проги под все ядра
Именно.
Ну и да и нет...
1) Процесс написания программы даже под два параллельных процесса - очень тяжелый и скрупулезный труд (Так как при использовании больше одного "потока" есть вероятность различных ошибок и т.д. Подробнее думаю на Хабре можете узнать)
2) Использование N потоков не означает что программа будет работать в N раза лучше, и даже если мы в теории используем "бесконечное" количество потоков, то программа не будет исполнятся мгновенно, так как не все части кода можно приспособить для параллельного исполнения.
Поэтому и продолжается такая вот байда
1) Процесс написания программы даже под два параллельных процесса - очень тяжелый и скрупулезный труд (Так как при использовании больше одного "потока" есть вероятность различных ошибок и т.д. Подробнее думаю на Хабре можете узнать)
2) Использование N потоков не означает что программа будет работать в N раза лучше, и даже если мы в теории используем "бесконечное" количество потоков, то программа не будет исполнятся мгновенно, так как не все части кода можно приспособить для параллельного исполнения.
Поэтому и продолжается такая вот байда
Об этом я и писал, писать программы под 100500 ядер нафиг никому не сдалось
Сомневаюсь, что простой обыватель готов потратить на 8-миядерный i7 ровно $999, а ведь именно столько стоит i7-5960X – самый старший не серверный процессор на 2011-3, а он единственный восмиядерный.
Пардон - перепутал божий дар с яичницей...
Имелл ввиду 8 потоков, у меня например intel i7 3630qm = 4 ядра и 8 потоков
Имелл ввиду 8 потоков, у меня например intel i7 3630qm = 4 ядра и 8 потоков
Посмотри сравнительные тесты i5 4690 и i7 4790 (4690+гиперпоточность) в не синтетических бенчмарках. Примерно в 90% случаев разницы НЕТ. Разница между двух- и четырехядерными процессорами чаще всего очень большая, а вот между четырех- и восьми- она почти всегда отсутствует, такие дела.
Там 8 логических, а не физических ядер.
Даже хром использует многопоточность, сколько можно ныть, что ядер дохуя а используется нихуя, все используется, любая приличная тулза которая выполняет параленьно несколько действий является многопоточной, иначе при нажатии тоёже ЗАГРУЗИТЬ, твой интерфейс повис бы с надписью ПОДОЖДИТЕ ВЫПОЛНЯЕТСЯ ЗАГРУЗКА, ан нет, загрузка уходит в очередь загрузок, и если они выполняются одновременно, то высока вероятность многопоточности (нужно быть полным долбаёбом, чтоб выполнять их в одном потоке), взять к примеру тотжы торрент, хеширование и загрузки и все одновременно (развешто не выполняет одновременно хеширование на одном разделе)
та штотут, тотже скайп свою рекламу в потоках выполняет
та штотут, тотже скайп свою рекламу в потоках выполняет
Многопоточность != параллельность.
такида, сорь, слышал звон, да не понял де он.
тут с многопоточностью в одной задаче не всегда можно вкрутить, а паральные расчеты так вообще поди найди где в обычных тулзах применить можно
тут с многопоточностью в одной задаче не всегда можно вкрутить, а паральные расчеты так вообще поди найди где в обычных тулзах применить можно
Не достиг. Распараллеливание просто выгоднее. Общее правило примерно таково: при увеличении частоты вдвое - тепловыделение вырастает в четыре раза. Хочешь шесть гигагерц? Готовься отводить 300-400 ватт тепла от процессора (с базовым TDP 70-80).
Фундаментальное ограничение частоты электронных систем - порядка 10ггц.
Надо больше - добро пожаловать в мир оптикоэлектронных систем.
Надо больше - добро пожаловать в мир оптикоэлектронных систем.
Судя по названию AlphaHoloCore этот процессор базируется на фотонных технологиях.
Ну, в каком-то смысле, не соврали
В это же время всё у военных ЗБС.
Процессор был назван Terahertz Monolitic Integrated Circuit (TMIС), а разработала его компания Northrop Grumman, являющаяся частью агентства DARPA. Данный процессор разрабатывался в рамках программы, целью которой было создание электроники, способной работать на тактовой частоте, равной или превышающей 1 ТГц.
Прежний рекорд скорости производительности процессора составлял 850 ГГц и был установлен в 2012 году этими же людьми. Пальма первенства по-прежнему остаётся в руках инженеров DARPA, так как им удалось обойти существующий рекорд на впечатляющие 150 ГГц.
http://hi-news.ru/technology/agentstvo-darpa-razrabotalo-samyj-bystryj-processor-v-mire.html
Процессор был назван Terahertz Monolitic Integrated Circuit (TMIС), а разработала его компания Northrop Grumman, являющаяся частью агентства DARPA. Данный процессор разрабатывался в рамках программы, целью которой было создание электроники, способной работать на тактовой частоте, равной или превышающей 1 ТГц.
Прежний рекорд скорости производительности процессора составлял 850 ГГц и был установлен в 2012 году этими же людьми. Пальма первенства по-прежнему остаётся в руках инженеров DARPA, так как им удалось обойти существующий рекорд на впечатляющие 150 ГГц.
http://hi-news.ru/technology/agentstvo-darpa-razrabotalo-samyj-bystryj-processor-v-mire.html
Технически, то, что они сделали - это DSP. До полноценного процессора, как бы, не в ту сторону, совсем.
Не всё сразу. И так прыжок на два порядка.
На первой картинке странная конфигурация. На DX2-50 обычно ставили 4 мегабайта оперативки, реже - 8.
Кроме того, чаще всего "бутылочным горлышком" у современных компов является не процессор, а производительность накопителей. Заменяете системный HDD на SSD, отключаете своп и - вуаля, система грузится до десктопа за 10-15 секунд.
Кроме того, чаще всего "бутылочным горлышком" у современных компов является не процессор, а производительность накопителей. Заменяете системный HDD на SSD, отключаете своп и - вуаля, система грузится до десктопа за 10-15 секунд.
Сам удивлялся этой истории, пока не поставил SSD и понял: все крылось в дисковой подсистеме.
У меня комп до сих пор ближе к 1998, чем к 2015 (:
Чтобы написать коммент, необходимо залогиниться