Мне нужно разобрать очень длинный текст JSON в объект JSON. Я попытался измерить время выполнения с помощью следующего кода.
var t = process.hrtime()
JSON.parse(jsonStr);
t = process.hrtime(t);
Это занимает около 0,5 миллисекунды, что довольно много. поскольку nodejs является однопоточным для своего двигателя V8, если эта операция настолько тяжелая и частая, это сильно повлияет на пропускную способность.
Поэтому я планирую написать асинхронный JSON.parse на C в качестве собственного дополнения NodeJS, используя uv_queue_work
, чтобы тяжелая операция выполнялась в другом потоке, используя многоядерность и избегая основного цикла nodejs.
Проблема в том, что объект V8 в nodeJS не может быть доступен из другого потока, кроме основного потока.
Есть ли способ проанализировать текст и создать объект V8 в другом потоке, а затем скопировать новый созданный объект V8 в основной поток?
Br