Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Скорость работы программы во время выполнения цикла [D6, WinXP]


Страницы:   1 2 3

ТехникПТО ©   (2005-03-03 19:40:00) 

У меян в программе выполняеться большой цикл... и во время его выполнения.. программа "подвисает"... можно ли этого избежать??? чтобы не происходило подвисание программы...


Defunct   (2005-03-04 17:07:00) [1]

XP   (04.03.05 08:32) [54]

спасибо за поправку ;>
утренняя очепятка.


BillyJeans   (2005-03-04 09:55:00) [2]

Близятся последние дни Бойцовского клуба...


ТехникПТО   (2005-03-04 09:23:00) [3]


> Смешно.
> Особенно предложение принять на работу программиста для
>
> MagTime('Не удалось прочесть заклятие');
> MagTime('Удачно использовано заклинание.'); (С) пост [10]

А кто сказал что я программист?? :) я Техник(числюсь) а по сути сисадмин... а белфой для души занимаюсь и в данный момент пишу программу Клинет для Бойцовского Клуба(www.combats.ru) воть...


TUser   (2005-03-04 08:44:00) [4]

Вот мне тоже показалось, что маловато, даже для техники прошлого. Хотя не знаю - я в то время еще в жидкости какой-то плавал.


XP   (2005-03-04 08:32:00) [5]

для i8008 число 17 уже было бесконечностью.
для 8088 аж 65536


i4004 - разрядность регистров 4 - переполнение аккумулятора при 16 (15 + 1)
i8008, i8080, i8085 - 8-ми разрядный - переполнение аккумулятора при 256 (255 + 1)
i8086 - разрядность основных регистров - 16  - переполнение аккумулятора при 65536 (65535 + 1)

хотя, переполнение регистров у процессоров легко нивелируется использованием вспомогательных регистров, путем использования переноса и пр. механизмов. Поэтому, даже для i4004 понятие "бесконечность" явно больше. :)


TUser   (2005-03-04 08:22:00) [6]


> а на литературу денег не дают :( вот и лазю по форумам

Кстати, у меня дома есть только одна бумажная книга по Delphi. И есть она - примерно пару месяцев. Все остальное выучено по бесплатно выкаченным из сети источникам, например с сайта Анатолия. Рекомендую.

> для i8008 число 17 уже было бесконечностью.

Точно?


XP   (2005-03-04 08:12:00) [7]

Смешно.
Особенно предложение принять на работу программиста для
MagTime('Не удалось прочесть заклятие');
MagTime('Удачно использовано заклинание.');
(С) пост [10]

По теме: уменьшить время выполнения алгоритма можно двумя способами - сократить количество тактов процессора, необходимых для выполнения алгоритма или уменьшить длину такта процессора.
По поводу первого - поможет только оптимизация алгоритма.
По поводу второго - поможет только покупка более производительного процессора (компьютера).

Первое делать за автора вряд ли кто будет. Второе - тем более.


Anatoly Podgoretsky   (2005-03-04 07:44:00) [8]

Defunct ©   (04.03.05 07:06) [50]
Они с в состоянии признавать свои ошибки. Конечно некоторые из них меня разочаровали, смешные по отношени к 8080.


Defunct   (2005-03-04 07:06:00) [9]

Бесконечность понятие растяжимое ;>

для i8008 число 17 уже было бесконечностью.
для 8088 аж 65536

хехе.

A <> 0
0 - чистый 0 ни +0 и ни -0

порассуждаем

1. (A / 0) = Какое-то D число? - врятли.
2. (A / 0) = Очень большое число?  - возможно.
3. (A / 0) = Отрицательное число?  - врятли.
4. (A / 0) = Нуль? - возможно.    
5. (A / 0) = Множество чисел? - определенно нет.

имеем рез-т, это скорее всего не D число (1), причем конкретное число (что следует из 5), его нельзя посчитать это следует из 2, 3 и 4 .
Значит рез-тат (A / 0) - константа, чаще всего просто flag "OV" :)

Можно ли результат деления на 0 использовать в дальнейших вычислениях? - определенно нет, т.к. flag и data - несовместимые типы.

Anatoly Podgoretsky ©   (03.03.05 23:30) [35]
По поводу требований Intel, их требования к разработчикам ПО более чем странные. Ведь именно intel в свое время сделал аппаратное немаскируемоепрерывание при делении на 0, и дал ему самый высокий приоритет да еще и, расположил вектор по "президентскому" адресу памяти - 0000:0000.

PS: И вообще! Все настоящие программисты делятся на три категории: на тех, кто пишет программы, завершающиеся по нажатию F10, Alt-F4, Alt-X. Все остальные принципы деления надуманны. (С) ASSA


Германн   (2005-03-04 02:40:00) [10]

2ТехникПТО ©   (03.03.05 20:38) [17]
> а что с except end; делать?
Этим самым ты "убиваешь в зародыше", то что тебе могут сообщить о твоей ошибке!


Fedia   (2005-03-04 02:31:00) [11]

Любая недосказанность ведет к возникновению множества уточняющих постов. Это большой плюс форума :)

GuAV ©   (04.03.05 02:04) [44]
>AFAIR eсть плюс бесконечность и минус бесконечность, а есть >просто бескоечность, когда знак не определён, и  кстати именно >она должна получатся в пределе 1/х х->0, т.к. 1/х х->+0 = + беск >1/х х->-0 = - беск.
Обычно, если говорят, что число равно единице, то "по умолчанию" подразумевают положительное значение. Отсюда и:
>бесконечность получается при делении на бесконечно малое число, >больше нуля.
Да, и по моему, термина "просто бесконечность" в математике нет. Терминология +(-) бесконечность вроде бы самодостаточна.

default ©   (04.03.05 02:06) [46]
>не обязательно
>вот примитивный пример...
Я не употребил выражения "только при" :)

>второе избыточно поскольку оно выраж-ся через первое
Об этом и не подумал...


default   (2005-03-04 02:15:00) [12]

default ©   (04.03.05 02:06) [46]
"неформально говоря получаетcя она там где числитель растёт быстрее знаменателя"
не просто быстрее, а так что скорость роста числителя(производная) удаляется от скорости роста знаменателя(произвадная, вспомните правило Лапиталя, его можно было изобрести интуитивно:)потом формально доказать:))


GuAV   (2005-03-04 02:06:00) [13]

1/х х->+0 и 1/х х->-0 пределы  справа и слева соответственно.


default   (2005-03-04 02:06:00) [14]

Fedia ©   (04.03.05 01:50) [43]
"На сколько я помню математику, бесконечность получается при делении на бесконечно малое число, больше нуля."
не обязательно
вот примитивный пример...
Lim(x-->oo, x+1)=oo
неформально говоря получаетcя она там где числитель растёт быстрее знаменателя
не всегда же знаменатель есть?
ну это формалистика
a=a/1 вот и знаменатель появился...
"а неопределенность получается при:
1. делении и  друг на друга бесконечно малых чисел;
2. умножении бесконечно больших чисел на бесконечно малые"
второе избыточно поскольку оно выраж-ся через первое
a, b - бес-но малые
a/b=a*(1/b)


GuAV   (2005-03-04 02:04:00) [15]

Fedia ©   (04.03.05 1:50) [44]
а неопределенность получается при:
1. делении и  друг на друга бесконечно малых чисел;
2. умножении бесконечно больших чисел на бесконечно малые.

3. 0^0
4. ещё что-то было, не помню.

Fedia ©   (04.03.05 1:50) [44]
Anatoly Podgoretsky ©   (03.03.05 23:30) [35]
>деление на ноль не ошибка, а бесконечность
На сколько я помню математику, бесконечность получается при делении на бесконечно малое число, больше нуля.

AFAIR eсть плюс бесконечность и минус бесконечность, а есть просто бескоечность, когда знак не определён, и  кстати именно она должна получатся в пределе 1/х х->0, т.к. 1/х х->+0 = + беск 1/х х->-0 = - беск.


Fedia   (2005-03-04 01:50:00) [16]

Anatoly Podgoretsky ©   (03.03.05 23:30) [35]
>деление на ноль не ошибка, а бесконечность
На сколько я помню математику, бесконечность получается при делении на бесконечно малое число, больше нуля.

>default ©   (04.03.05 01:31) [41]
>деление на ноль даёт неопределённость, а не бесконечность
а неопределенность получается при:
1. делении и  друг на друга бесконечно малых чисел;
2. умножении бесконечно больших чисел на бесконечно малые.


default   (2005-03-04 01:40:00) [17]

"в случае 1/x предел может существовать в то время как ф-ия неопределена в данной точке"
вот это не читать, малость не туда ушёл...


default   (2005-03-04 01:31:00) [18]

Anatoly Podgoretsky ©   (03.03.05 23:30) [35]
"соответствие законам математики, деление на ноль не ошибка, а бесконечность, при А не равном нулю."
деление на ноль даёт неопределённость, а не бесконечность
a/b=c,a=bc
a/0=k(a<>0), a=0k=0 получаем противоречие, вот поэтому и делить нельзя:)
вы путаете деление на ноль и предел дроби при знаменателе стремящемся к нулю
в случае 1/x предел может существовать в то время как ф-ия неопределена в данной точке
тут тоже самое


Kolan   (2005-03-04 01:03:00) [19]


> DiamondShark ©   (03.03.05 22:06) [33]
>А понту от твоих непрерванных вычислений на некорректных данных?

А такой понт, что допустим у меня устройсво по сложному мереет изделия определенного вида где есть Мах и Min значение причем
Max всегда преред Min. А пользователь допустим не то изделее засунул или диапазон не тот взял. А у меня в обработки Sqrt(Min - Max) получаю под корнем -, а пользователь ошибки и нервничает. Нафиг они ему нужны он и по графику видит, что ошибся. А может и не ошибся прости график хотел построить а на вычисления ему пох.

> SetExceptionMask([exInvalidOp, exDenormalized, exZeroDivide,
> exOverflow, exUnderflow, exPrecision]);

OK Приму к сведению.


GuAV   (2005-03-04 00:25:00) [20]

упс... было уже..


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо