본문 바로가기
OpenSource

오픈소스 - hibernate-orm 기여하기 - testing orm

by 준형코딩 2024. 11. 8.

기여 개요

이번에는 Hibernate-ORM 오픈소스에서 성능 최적화를 위한 개선 작업을 진행했습니다. 구체적으로는

hibernate-testing/src/main/java/org/hibernate/testing/orm/domain/gambit/Shirt.java의 convertToEntityAttribute 메서드에서 불필요한 Integer.valueOf() 호출을 제거하는 작업이었습니다. 

해당 코드에 들어가면 볼 수 있는 나의 이름, 감동.. 🥹

변경 사항 상세 설명

변경 전 코드

@Override
public String convertToEntityAttribute(Integer dbData) {
    if (dbData != null) {
        switch (Integer.valueOf(dbData)) {  // 불필요한 변환
            case 1:
                return "X";
            case 2:
                // ...

변경 후 코드

@Override
public String convertToEntityAttribute(Integer dbData) {
    if (dbData != null) {
        switch (dbData) {  // 직접 Integer 사용
            case 1:
                return "X";
            case 2:
                // ...

기여 동기 및 개선 효과

1. 성능 최적화

  • dbData 파라미터가 이미 Integer 타입이므로, Integer.valueOf() 호출은 불필요한 박싱/언박싱 연산을 발생시킵니다.
  • 이 불필요한 변환을 제거함으로써 미세하지만 성능 향상을 기대할 수 있습니다.

2. 코드 품질 향상

  • 불필요한 코드를 제거함으로써 코드의 간결성이 향상되었습니다.
  • 코드의 의도가 더 명확해졌습니다.

3. 리소스 효율성

  • 불필요한 객체 생성을 방지하여 메모리 사용을 최적화했습니다.
  • 특히 많은 데이터를 처리할 때 누적되는 효과를 기대할 수 있습니다.

🎯  PR 링크

 

  1.