Самый быстрый индексер?
Самый быстрый индексер?
Дано:
- таблица на 28 элементов.
- набор целочисленных индексеров в диаппазоне от Х до Х+28, где Х > 50
Какой способ индексирования будет самым быстрым?
Самый быстрый индексер?
Спросите это у разработчиков Google, MongoDB или Apache Cassandra.
- таблица на 28 элементов.
Давно уже надо было забыть слово таблица, т.к. те кто делают высоконагруженное Web-приложение используют NoSQL, а в NoSQL имхо таблиц нет, есть только такое понятие как коллекция, а вместо SQL запросов аггрегация .
- таблица на 28 элементов.
Что ты понимаешься под "элементами"? Строки или столбцы?
- набор целочисленных индексеров в диаппазоне от Х до Х+28, где Х > 50
Судя по всему все таки строки. Если твои 28 индексов целочисленные, да еще и упорядоченные, то самый быстрый индексер - массив из 28 итнов.
Врядли будет что-то быстрее, чем
int base = 50; var val = indexer[base+index];
Во всех остальных случаях врядли есть что-то быстрее бинарного поиска.
Строки или столбцы?
-----
Так ведь без разницы - строки, столбцы, в простейшем случае - одномерный массив. В пределе - целочисленный.
Врядли будет что-то быстрее, чем
------
Будет. Я от сложения избавился. Просто взял кросс-массив с избыточным количеством элементов-пустышек.
Сейчас вопрос немного меняется.
Почему
for (int i = 0; i < line.Length; ++i) line[ i ] = shiftedChars[line[ i ]];
где-то на 15-20% быстрее, чем
char[] result = new char[line.Length]; int i = 0; foreach (char ch in line) result[ i++ ] = shiftedChars[ch];
Оптимизация лучше прошла?
А еще быстрее, в рамках шарпа без анменеджет кода, можно?
А разве форич не двигает каждый раз энумератор, вызывая его метод (что требует обращения к таблице методов и всё такое)?
Вот любителям читать тьюториалы - до посинения, пока голова не вскипит. ))
А потом выматериться, закрыть страницу, послать всё нафиг и пойти пить пиво. Кому надо +(15-20)% производительности, идёт писать на плюсах, чистом Си или ещё как битики ручками двигать. Остальные пруцца от скриптиза, зарабатывая на расслабоне и смузевой тяге больше, чем плюсовик-ботаник с кипящими мозгами.
На следующем поколении процессоров получите эти ваши 15-20% бесплатно, без оптимизаций.
Пока семизнаки копаются в битиках, скриптизёры давно на всё забили, пьют пиво, лакают смузи и кутят с девочками. Потом семизнаки спускают свои семь знаков на лечение выкипевших мозгов, дом престарелых и свои похороны, а скриптизёры радуются жизни и ни о чём не думают.
))