<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Performance on philipjkim</title><link>https://philipjkim.cc/tags/performance/</link><description>Recent content in Performance on philipjkim</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Thu, 16 Jul 2026 17:33:09 +0900</lastBuildDate><atom:link href="https://philipjkim.cc/tags/performance/index.xml" rel="self" type="application/rss+xml"/><item><title>HTTP REST(JSON) vs. gRPC(Protocol Buffers): 언제 무엇을 쓸까</title><link>https://philipjkim.cc/posts/20260716-http-rest-vs-grpc/</link><pubDate>Thu, 16 Jul 2026 17:33:09 +0900</pubDate><guid>https://philipjkim.cc/posts/20260716-http-rest-vs-grpc/</guid><description>&lt;p&gt;&lt;em&gt;이 글은 Claude Opus 4.8 을 이용해 초안이 작성되었으며, 이후 퇴고를 거쳤습니다.&lt;/em&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;백엔드 서버를 설계할 때 거의 항상 마주치는 갈림길이 있습니다. &amp;ldquo;이 API 를 JSON 기반 HTTP REST 로 열까, 아니면 gRPC 로 열까?&amp;rdquo; 하는 질문입니다. 팀 컨벤션에 따라 별생각 없이 한쪽으로 정해지는 경우도 많지만, 두 방식은 성능·개발 경험·운영 부담·클라이언트 호환성 등 여러 축에서 뚜렷하게 다른 트레이드오프를 가집니다.&lt;/p&gt;
&lt;p&gt;이 글은 웹 백엔드를 다루는 중급 이상 개발자를 대상으로, 두 방식의 작동 원리와 장단점을 정리하고 &lt;strong&gt;&amp;ldquo;어떤 상황에서 무엇을 고르는 것이 합리적인지&amp;rdquo;&lt;/strong&gt; 를 구체적인 예시와 함께 설명합니다. 결론부터 말하면 &amp;ldquo;무조건 하나가 낫다&amp;quot;는 답은 없으며, &lt;strong&gt;통신의 상대가 누구인지(외부 클라이언트 vs. 내부 서비스)&lt;/strong&gt; 가 선택의 가장 강력한 기준이 됩니다.&lt;/p&gt;</description></item><item><title>번역글: Java 스레드 성능 vs. 가상 스레드 vs. Kotlin 코루틴</title><link>https://philipjkim.cc/posts/20250630-java-thread-vs-virtual-thread-vs-kotlin-coroutine/</link><pubDate>Mon, 30 Jun 2025 14:40:25 +0900</pubDate><guid>https://philipjkim.cc/posts/20250630-java-thread-vs-virtual-thread-vs-kotlin-coroutine/</guid><description>&lt;p&gt;원문 (아래 리스트 순으로 번역되어 있음. Translated by Google Gemini) :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://blog.behzadian.info/2024-05-03/Java-Thread-Performance-vs.-Virtual-Threads"&gt;https://blog.behzadian.info/2024-05-03/Java-Thread-Performance-vs.-Virtual-Threads&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.behzadian.info/2024-05-06/Java-Virtual-Threads-Performance-vs.-Kotlin-Coroutines"&gt;https://blog.behzadian.info/2024-05-06/Java-Virtual-Threads-Performance-vs.-Kotlin-Coroutines&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.behzadian.info/2024-05-26/Java-Thread-Performance-vs.-Virtual-Threads-Part-2"&gt;https://blog.behzadian.info/2024-05-26/Java-Thread-Performance-vs.-Virtual-Threads-Part-2&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="java-스레드-vs-가상-스레드-pt1"&gt;Java 스레드 vs. 가상 스레드 Pt.1&lt;/h2&gt;
&lt;p&gt;면접 중에 한 면접관이 저에게 Java 스레드와 가상 스레드의 성능 차이에 대해 물었습니다. 저는 가상 스레드가 실제로는 JVM이 처리하는 경량 스레드이기 때문에 더 빠를 것이라고 답했지만, 둘 사이의 정확한 성능 차이가 궁금했습니다. 그래서 가상 스레드의 성능 향상을 확인하기 위해 간단한 벤치마크를 수행했습니다.&lt;/p&gt;
&lt;p&gt;이것은 매우 간단한 테스트입니다. 저는 매우 많은 수의 스레드와 가상 스레드를 생성하며, 각각이 완료되는 데 5초가 걸리도록 했습니다. 그런 다음 앱 실행 시간을 계산합니다. 이 벤치마크에 사용한 Java 코드는 다음과 같습니다:&lt;/p&gt;</description></item></channel></rss>