|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Май 7, 2004 11:26:21 Прикол такой нашел, проверил на 6, 7 и 8 версии _компилятора_. Если объявить в .data? больше 2 мег то у меня на достаточно мощной машине примерно 3 минуты компилировалось :)) (обычно 3-5 секунд даже что-то объемное). Линкуется потом быстро. Экзешник при этом - 1 кб получался :) Баг? |
|
|
Дата: Май 7, 2004 13:11:56 masquer Используй фасм, он times 1000000h db 1,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7 компилирует за 20 секунд, а rb 10000000h за 2 секунды. Правда при условии что оперативной памяти раза в два больше, а иначе механизм подкачки всё сильно затормозит. |
|
|
Дата: Май 7, 2004 15:15:01 Black_mirror Спасибо, но думаю, что и с этим жить можно :) |
|
|
Дата: Май 7, 2004 17:39:44 Извините не сведущего, но почему МАСМ так долго обрабатывает неинициализированные данные? Он, что для каждого байта (слова, двойного слова) свою метку создаёт (на период компиляции)? |
|
|
Дата: Май 7, 2004 18:00:47 А х.з. :) Я бы и сам почитал бы об этом, примерно до 1 мб все нормально, а дальше идут тормоза жуткие |
|
|
Дата: Май 7, 2004 21:08:02 Блин, это прям эксплоит какой-то.. Попробовал: .DATA? StrFile db 4096*1000 dup (?) Так и не дождался когда она скомпилируется. |
|
|
Дата: Май 7, 2004 21:11:56 даже если поделить на несколько мелких частей - все равно так же тормозить начинает, видать какое-то супер алго используется :) |
|
|
Дата: Май 8, 2004 06:51:40 |
|
|
Дата: Май 8, 2004 22:08:47 Меня недавно товарищ спршивал по тому же поводу. Только ему надо было массив 15 метров объявить. Я у него спросил: "а что, апишки уже не рулят?". Спрашиваю и у вас. ИМХО, если надо такой объем данных, не проще ли выделить память через GlobalAlloc? Ответы типа "не хочу подгружать лишнюю функцию" или "не люблю апи" не принимаются. |
|
|
Дата: Май 8, 2004 22:28:48 Народ, а не проще в стеке все держать? |
|
|
Дата: Май 8, 2004 22:31:37 hello_world Хмм.. 3 метра в стеке? Это, конечно, весьма оригинально, но я предпочитаю такие вещи доверять системе. |
|
|
Дата: Май 8, 2004 22:54:03 n0p Хмм.. 3 метра в стеке? Это, конечно, весьма оригинально, но я предпочитаю такие вещи доверять системе. А что такого? Есть же в PE stack commit/reserve, по моему это как раз называется "доверять системе" :) |
|
|
Дата: Май 8, 2004 23:11:22 hello_world И все-же я не понимаю причину нелюбви к апишкам.. :) Все-таки 3 метра инфы в стеке хранить я бы не рискнул. Тем более, что он для этого не задумывался. |
|
|
Дата: Май 8, 2004 23:15:40 n0p А если у тебя например несколько буферов по 1мб, тебе будет неудобно это все адресовать. Можно конечно несколько раз вызывать virtualalloc, но это глупо как-то. |
|
|
Дата: Май 8, 2004 23:35:26 hello_world Во-первых, почему это будет глупо? Во-вторых если речь идет о фиксированых блоках, почему это будет неудобно адресовать? Наоборот намного удобнее (субъективное мнение), чем в стеке. |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.064 |