Войти
ПрограммированиеФорумОбщее

Шрифт с юникодом в OGL (20 стр)

Страницы: 117 18 19 20 21 22 Следующая »
#285
22:23, 27 окт. 2012

Kotofey
> ЧЯДНТ?
> MinGW,
> OpenAddressingDefaultSize = 4096
Не знаю. Делаю OpenAddressingDefaultSize = 4096, получаю:

Text length: 17205 symbols
Test "Google Inc + Knuth" runs for 0.595 seconds
Test "Devil's Superhash" runs for 0.958 seconds
Test "Open addressing hashmap" runs for 0.333 seconds

М.б. забыл -O2 ?

>Test "Google Inc + Knuth" runs for 0.218 seconds
А что за система с такой быстрой памятью?
Получаются очень дешевые промахи.


#286
22:30, 27 окт. 2012

RPGman
> Не знаю. Делаю OpenAddressingDefaultSize = 4096, получаю:

У МЕНЯ сделай 4096, клоун

а у себя оставь простым числом
и со стратегией увеличения массива, чтобы компилятор не находил остаток от деления на константу
#287
22:32, 27 окт. 2012

DevilDevil
> У МЕНЯ сделай 4096, клоун
Ты же гомик не гордый. http://www.gamedev.ru/code/forum/?id=156749&page=11#m151
"Ну а мне пожалуйста оставь 128 элементов. Я человек не гордый - мне много памяти не надо"

#288
22:37, 27 окт. 2012

RPGman
> М.б. забыл -O2 ?
>
> > est "Google Inc + Knuth" runs for 0.218 seconds

вроде всё на месте:

####### Compiler, tools and options

CC            = gcc
CXX           = g++
DEFINES       = -DUNICODE -DQT_LARGEFILE_SUPPORT
CFLAGS        = -O2 -Wall $(DEFINES)
CXXFLAGS      = -O2 -frtti -fexceptions -mthreads -Wall $(DEFINES)


> А что за система с такой быстрой памятью?
> Получаются очень дешевые промахи.
win7 x64

#289
22:40, 27 окт. 2012

RPGman

завязывай с наркотиками
#290
22:41, 27 окт. 2012

Kotofey
> win7 x64
Не, я про железо. Код там простой, а вот память отвечает нереально быстро. Ты-ж на приложенном файле проверял, или другой текст использовал?

#291
22:44, 27 окт. 2012

RPGman

> уйди, праативный.
я слышал, что наркоманы становятся спидозниками. слышал, что гомосексуалисты становятся спидозниками. но не думал, что это взаимосвязные вещи
#292
22:56, 27 окт. 2012

RPGman
> Не, я про железо. Код там простой, а вот память отвечает нереально быстро. Ты-ж
> на приложенном файле проверял, или другой текст использовал?

не , я уменьшил количество итераций до 1000, так что ничего быстрого)
файл тот же.

#293
23:15, 27 окт. 2012

Короче выкладываю скорректированную версию: shitcoders_vs_google_vs_devildevil_2
На старом Athlon 1700 XP выдаёт следующий скрин:
shitcoders_vs_google_vs_devildevil_2 | Шрифт с юникодом в OGL

на новых архитектурах судя по всему расхождения должны быть другими

p.s. чёт я не особо верю в "сквозную адресацию" или как там его
#294
23:19, 27 окт. 2012

протестируйте кто-нибудь у себя
мне интересно, какие расхождения будут на новых архитектурах

#295
0:10, 28 окт. 2012

написал ради прикола.. возвращает числа в диапазоне 0..519
ОСОБЕННОСТЬ если взять любые разные числа в диапазоне 0...519 то между ними не будет коллизии хэш.

const uint16 A[] = {1,491,379,92,366,482,128,328,59,314,479,218,233,304,258,75};
const uint16 B[] = {1,355,464,84,123,422,283,433,20,327,423,117,376,104,450,324};
const uint16 C[] = {1,400,53,360};
uint32 MyCheatHash(uint32 key)
{
  key = key%520;
  return (( A[key&0xF] * B[(key>>4)&0xF]  * C[(key>>8)&0x3] )%521)-1;
}

#296
0:23, 28 окт. 2012

susageP

засунь в тест
исходники выше
не знаю как на счёт распределения - но тормоз жуткий

#297
0:30, 28 окт. 2012

susageP
> написал ради прикола.. возвращает числа в диапазоне 0..519
Сложновато, там функция поиска несколько тактов, длинный хэш её утяжелит. Мою не-хэш реализацию точно не обгонит.

Text length: 17205 symbols
Test "Devil's Superhash (4096)" runs for 0.874 seconds
Test "Open addressing hashmap (4096)" runs for 0.804 seconds
Test "RPG's random memory" runs for 0.704 seconds

#298
0:34, 28 окт. 2012

RPG
> Сложновато, там функция поиска несколько тактов, длинный хэш её утяжелит. Мою
> не-хэш реализацию точно не обгонит.

кстати почему бы тебе не вписать её в тестовую утилиту ?
интересна разница по производительности
пусть и на вход будешь подавать не utf32, а utf8

#299
0:44, 28 окт. 2012

RPG
> Text length: 17205 symbols
> Test "Devil's Superhash (4096)" runs for 0.874 seconds
> Test "Open addressing hashmap (4096)" runs for 0.804 seconds
> Test "RPG's random memory" runs for 0.704 seconds

1) замени модуль sc_hashmaps.h из этого архива: shitcoders_vs_google_vs_devildevil_2
2) "Open addressing hashmap" по твоим в частности утверждениям должен быть простым числом. Извольте
3) "RPG's random memory" - круто. в целом - результирующий тест в студию

тока под CodeBlocks пожалуйста
чтобы создать для всех равные условия. чем вы там модифицируете и компилите - я хрен знает

p.s. использует ли "Open addressing hashmap" кнута или дженкинса ?

Страницы: 117 18 19 20 21 22 Следующая »
ПрограммированиеФорумОбщее

Тема в архиве.