Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[view] 성능측정방법 #601

Closed
Sang-minKIM opened this issue Aug 4, 2024 · 3 comments
Closed

[view] 성능측정방법 #601

Sang-minKIM opened this issue Aug 4, 2024 · 3 comments

Comments

@Sang-minKIM
Copy link
Contributor

요약

개발환경에서 대규모 레포에 대해 성능 측정할 수 있는 방법이 있을까요?

내용

githru의 성능 문제를 @seungineer님과 함께 해결하려 합니다.
대표적으로 커밋이 10000개 이상되는 대규모 레포를 githru로 열면 한 번에 데이터를 받아오는 바람에 정상적으로 작동하지 않는 문제가 있습니다.

성능 측정을 위해 브라우저의 performance 탭이나 React Dev Tools를 사용하려면 브라우저에서 githru를 실행시켜야 합니다.
이렇게 개발환경으로 실행하게되면 fakeData를 사용하게 되는데, 이는 정확한 성능을 측정하기에 부적합하다는 결론을 내렸습니다.

그래서 저희는 아래와 같은 두가지 방법을 생각해보았는데 또 다른 좋은 방법이 있다면 조언부탁드립니다!

  • githru 배포환경을 웹 브라우저에 띄울 수 있는지?
  • 개발 환경에서 대규모 레포지토리를 열 수 있는지?
@ytaek
Copy link
Contributor

ytaek commented Aug 4, 2024

개발환경에서 대규모 레포에 대해 성능 측정할 수 있는 방법이 있을까요?
githru의 성능 문제를 @seungineer님과 함께 해결하려 합니다. 대표적으로 커밋이 10000개 이상되는 대규모 레포를 githru로 열면 한 번에 데이터를 받아오는 바람에 정상적으로 작동하지 않는 문제가 있습니다.

지금 하시려는게 성능 측정이라기 보다, "정상적 동작이 발생하지 않는 케이스"를 테스트 해보고 싶은 것 같네요.
(그냥 성능 최적화라면, 엄청 큰 repo가 아니더라도 적당히 많은 repo를 잡아서 최적화 수행하면 되긴 하니까요)

  • githru 배포환경을 웹 브라우저에 띄울 수 있는지?

배포환경이 어떤걸 말하는지 모르겠지만, vscode에서 동작하므로
그걸 가능하게 한게 fakedata를 써서 만든 거라고 보시면 됩니다.

  • 개발 환경에서 대규모 레포지토리를 열 수 있는지?

fakedata를 큰 repo대상으로 만들면 되겠지요 : )
만드는 방법은 아래와 같습니다.

  1. 큰 repo를 clone한다.
  2. debug 모드로 extension을 launch한다.
  3. 큰 repo를 대상으로 vscode 프로젝트를 open 한다.
  4. engine이 vscode와 view쪽으로 넘겨주는 데이터를 print 하거나 file로 저장한다.

변경된 fakedata는 기존껄 덮어씌워도 되지만, 다른 분들이 쓰시면 안되니까 commit은 하시면 안되구요.
아니면 large data 테스트용으로 추가로 생성(fake-asset 폴더 안에)하고,
FakeIDEAdapter 에서 불러오는 데이터 경로를 large data로 수정하시면 됩니다 (변경된 FakeIDEAdapter는 commit 하시면 안되구요)

@ytaek
Copy link
Contributor

ytaek commented Aug 4, 2024

추가적으로, view를 dev모드로 띄울 때 어떤 data를 활용할 것인지를 보여주는 UX를 만드는 것도 좋은 선택인 것 같습니다 😈
예를 들어, prod에서는 그런게 없지만,
dev에서 npm run start를 하면 헤더 쪽에 select box가 있어서, 데이터를 고를 수 있게 한다던지 하는걸로?

이 부분은 누군가 해주면 좋을 것 같아서
image
Reference in new issue 기능을 이용해서
추가로 issue로 따로 등록해주셔도 좋을 것 같습니다.

@Sang-minKIM
Copy link
Contributor Author

지금 하시려는게 성능 측정이라기 보다, "정상적 동작이 발생하지 않는 케이스"를 테스트 해보고 싶은 것 같네요. (그냥 성능 최적화라면, 엄청 큰 repo가 아니더라도 적당히 많은 repo를 잡아서 최적화 수행하면 되긴 하니까요)

대표적으로는 정상적인 동작이 발생하지 않는 케이스에 대해 말씀드렸는데, 이러한 known issue 말고도 병목현상이 있는지 알고 싶어서 성능 측정이 필요하다고 생각했습니다. 😁

  • 개발 환경에서 대규모 레포지토리를 열 수 있는지?

fakedata를 큰 repo대상으로 만들면 되겠지요 : ) 만드는 방법은 아래와 같습니다.

  1. 큰 repo를 clone한다.
  2. debug 모드로 extension을 launch한다.
  3. 큰 repo를 대상으로 vscode 프로젝트를 open 한다.
  4. engine이 vscode와 view쪽으로 넘겨주는 데이터를 print 하거나 file로 저장한다.

변경된 fakedata는 기존껄 덮어씌워도 되지만, 다른 분들이 쓰시면 안되니까 commit은 하시면 안되구요. 아니면 large data 테스트용으로 추가로 생성(fake-asset 폴더 안에)하고, FakeIDEAdapter 에서 불러오는 데이터 경로를 large data로 수정하시면 됩니다 (변경된 FakeIDEAdapter는 commit 하시면 안되구요)

말씀해주신 방법대로 fake-asset에 큰 repo의 데이터를 삽입해서 진행해보겠습니다.
도움 감사합니다~~

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants