-
1. Data: 2012-08-11 21:25:22
Temat: [rdtsc] przygnebiajacy (mnie) bug z czapki
Od: " kenobi" <f...@g...pl>
moze to feature, a moze wogole cos innego ale
dla mnie maly problem:
czasem odpalam sobie funkcje w postaci stringa albo
tablicy (zawierajacej hexem kod maszynowy procedury)
to dziala ale ->
jesli mierze przez rdtsc cios takiego to mam
loop 1000x
{
vector.x = 1.0; //2 cykle
}
loop 1000x
{
wskaznik_na_tablice_z_kodem_maszynowym_procedury_z_s
amym_ret(); //12 cykli
}
natomiast
loop 1000x
{
vector.x = 1.0;
wskaznik_na_tablice_z_kodem_maszynowym_procedury_z_s
amym_ret();
}
kilkaset cykli !!! :-(
nie mialem tego dla wywolania zwyklych procedur w c (nie
kleconych w kodzie maszynowym w sekcji .data) - choc
sprawdzilem tylko pare przypadkow, tak ze podejrzenie
ze to wiaze sie z tym ze procedura lezy w sekcji data
jest hipotezą a nie pwenym faktem
czy jest jakies uzasadnienie tego smutnego faktu,
ew jaka mogalbyto byc inna przyczyna ? (te wyjete z czapki
opoznienia rozwalaja mi cala koncepcje :( )
(win32/xp)
--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/