Здесь вы можете сделать то же самое, что и ваш старый подход, но проблема в том, что вы откладываете отправку формы, так как коллекции HTML занимают больше времени, чем просмотр и управление состояниями. Посмотрите на пример:
import React from 'react';
class Login extends React.Component {
login(event) {
event.preventDefault();
const data = {};
const inputs = event.getElementsByTagName('input');
for (let input of inputs) data[input.id] = input.value;
// send `data` to server to test for login
console.log(data);
}
render() {
return (
<form onSubmit={this.login}>
<input id="email" type="email" />
<input id="password" type="password" />
<button type="submit">Login</button>
</form>
);
}
}
Просто представьте, сколько времени уходит на выборку из DOM и затем итерацию каждого элемента, а не управление состоянием при каждом нажатии клавиши во время отправки формы.
Microsoft имеет диаграмму, показывающую различные пределы: Пределы Памяти для Windows Releases
Суммировать просто виртуальное адресное пространство непривилегированного режима:
/LARGEADDRESSAWARE:YES
и 4GT/LARGEADDRESSAWARE:YES
/LARGEADDRESSAWARE:NO
4GT настройка на 4 гигабайта:
/3GB
Переключатель boot.inibcdedit /set increaseuserva 3072
Mark Russinovich сделал сообщение в блоге, объяснив много этих пределов: Раздвижение Границ Windows: Виртуальная память
Ваш процесс будет только видеть виртуальное адресное пространство на 4 ГБ, когда он будет работать как процесс на 32 бита. Это ничто не сможет к адресам выше.
Мой исходный ответ был довольно плох. Вот ссылка, которая объясняет, что JaredPar заявлял вполне прилично.
Что касается аппаратных средств, когда Вы работаете в режиме эмуляции (т.е. IA32_EFER.LMA установлен, и L укусил, ясно в дескрипторе сегмента CS), сегменты ведут себя как 32-разрядные сегменты. Это:
Это эффективно ограничивает Вас 4 ГБ виртуальных адресов. Я не знаком с тем, как виртуальная память разделов ОС в различных режимах, но это - аппаратный предел. (извините... Я - аппаратный парень, не эксперт ОС),
Если Ваша программа будет работать как процесс на 32 бита на подсистеме Wow64, то она будет видеть то же самое адресное пространство, которое она видела бы на фактической ОС на 32 бита. Без специальных опций процесс на 32 бита будет иметь 2 ГБ в наличии памяти.
Единственной разницей является доступная память при использовании опции LargeAddressAware. В нормальном процессе на 32 бита это допускает 3 ГБ адресуемой памяти. В процессе Wow64 это видит до 4 ГБ (Источник)