비동기와 동기 파일 읽기 코드를 확인하고 프로그램 실행 시간을 같이 비교 해보겠습니다.
먼저 비동기 파일 읽기 코드입니다.
비동기 ( Asynchronous )
var fs = require('fs')
fs.readFile('test.txt', 'utf8', function(err, data){
if ( err ) throw err;
var arr = data.toString().split("\n");
for ( i in arr ){
console.log(i+arr[i])
}
})
동기 ( Synchronous )
var fs = require('fs')
var array = fs.readFileSync('test.txt').toString().split("\n")
for(i in array){
console.log(array[i])
}
프로그램 실행 시간
코드 수행 시간을 측정하기 위해선 console.time / console.timeEnd 를 사용합니다. 비동기와 동기를 사용한 코드 프로그램 실행 시간을 확인해봅시다.
var fs = require('fs')
console.time('first')
fs.readFile('test.txt', 'utf8', function(err, data){
if ( err ) throw err;
var arr = data.toString().split("\n");
for ( i in arr ){
console.log(i+arr[i])
}
})
console.timeEnd('first')
console.time('second')
var array = fs.readFileSync('test.txt').toString().split("\n")
for(i in array){
console.log(array[i])
}
console.timeEnd('second')
first : 비동기 코드 수행 시간 / second : 동기 코드 수행 시간
비동기 코드를 먼저 작성했지만 결과는 동기 코드가 먼저 나오고 코드 수행시간도 조금더 빠른것을 확인할 수 있습니다.