Tag

Performance

0 views collected around this technical thread.

DeWu Technology
DeWu Technology
Apr 9, 2025 · Databases

Understanding Elasticsearch Indexes, Mappings, and Shard Architecture

The article explains Elasticsearch indexes as logical namespaces for JSON documents, details how mappings define immutable field types such as text, keyword, and numeric, describes primary and replica shard roles, and offers practical guidance on alias usage, shard sizing, replica settings, and performance optimizations to ensure cluster stability.

ElasticsearchPerformanceSharding
0 likes · 20 min read
Understanding Elasticsearch Indexes, Mappings, and Shard Architecture
Java Tech Enthusiast
Java Tech Enthusiast
Apr 2, 2025 · Backend Development

Java Object Creation: New vs Reflection Efficiency Comparison

The article compares Java object creation using the 'new' operator versus reflection, showing through timed code examples that reflection incurs a substantial overhead—approximately thirty times slower for 100 million instances—due to dynamic type resolution and limited JIT optimization, while also outlining typical reflection use cases such as Spring IoC and JDBC driver loading.

Backend DevelopmentJavaObject Creation
0 likes · 4 min read
Java Object Creation: New vs Reflection Efficiency Comparison
DeWu Technology
DeWu Technology
Mar 12, 2025 · Mobile Development

Android Crash Analysis and Fixes: DNS, MediaCodec, BIO, and Focus Issues

The article details four native DeWu Android client crashes—DNS resolution, MediaCodec state‑exception, BIO multi‑thread, and Xiaomi Android 15 focus null‑pointer—explains their root causes, and demonstrates inline‑hook, PLT‑hook, and JNI‑hook fixes that lowered the crash rate from 2/10 000 to about 1.2/10 000.

NativeHookPerformanceandroid
0 likes · 20 min read
Android Crash Analysis and Fixes: DNS, MediaCodec, BIO, and Focus Issues
Java Tech Enthusiast
Java Tech Enthusiast
Mar 3, 2025 · Fundamentals

Choosing Between int and String for Storing Phone Numbers in Java

Because phone numbers are identifiers that can contain symbols and exceed the numeric range of an int, storing them as a String—despite higher memory use—is semantically correct, avoids overflow, preserves formatting, and benefits from JVM string pooling, making String the preferred type in most Java applications.

Data TypesJVMJava
0 likes · 7 min read
Choosing Between int and String for Storing Phone Numbers in Java
Java Tech Enthusiast
Java Tech Enthusiast
Feb 28, 2025 · Fundamentals

Does Adding More RAM Speed Up a Computer?

Adding more RAM only speeds up a computer when the existing memory is insufficient, because RAM supplies data to the CPU and serves as cache; with ample RAM the CPU remains the bottleneck, so extra memory mainly enables more simultaneous programs rather than increasing raw processing speed.

Operating SystemPerformanceRAM
0 likes · 6 min read
Does Adding More RAM Speed Up a Computer?
Java Tech Enthusiast
Java Tech Enthusiast
Feb 2, 2025 · Backend Development

Optimizing XML-to-MySQL Bulk Import with JDBC Batch and Disruptor

By switching from a naïve per‑record insert to JDBC batch writes with rewriteBatchedStatements and then off‑loading those batches to multiple consumer threads via a LMAX Disruptor ring buffer, the XML‑to‑MySQL import of 60,000 rows dropped from roughly 300 seconds to about 4 seconds while keeping memory usage modest.

DisruptorJDBCJava
0 likes · 11 min read
Optimizing XML-to-MySQL Bulk Import with JDBC Batch and Disruptor
Java Tech Enthusiast
Java Tech Enthusiast
Feb 1, 2025 · Backend Development

Optimizing Nested Loops in Java with Map and Break

To avoid the O(n × m) cost of naïve nested loops when matching IDs, replace the inner scan with a break after a unique match or, far more efficiently, build a HashMap of the secondary list so each lookup becomes O(1), dropping overall complexity to O(n + m) and cutting execution time from tens of seconds to a few hundred milliseconds.

HashMapJavaPerformance
0 likes · 8 min read
Optimizing Nested Loops in Java with Map and Break
DaTaobao Tech
DaTaobao Tech
Dec 11, 2024 · Backend Development

Resolving Metaspace and Off‑Heap Memory Issues After JDK 11 Upgrade

After upgrading core services to JDK 11, the team encountered a Metaspace rise and off‑heap memory growth caused by class‑loading changes and Netty’s disabled native buffers, which were resolved by expanding Metaspace to 768 MB and adding JVM options to enable Netty reflection and open required modules, restoring normal memory usage.

JDK11JVMMemoryLeak
0 likes · 8 min read
Resolving Metaspace and Off‑Heap Memory Issues After JDK 11 Upgrade
DaTaobao Tech
DaTaobao Tech
Sep 4, 2024 · Frontend Development

Best Practices for Component Design and Encapsulation in React

The article outlines React component design best practices by distinguishing generic UI components from business‑specific ones, separating UI and domain state, extracting reusable base components, applying patterns such as state lifting, context, memoization, and type‑safe props, and providing a checklist for clean encapsulation.

Component DesignDDDEncapsulation
0 likes · 10 min read
Best Practices for Component Design and Encapsulation in React
DaTaobao Tech
DaTaobao Tech
Aug 28, 2024 · Backend Development

Understanding Java Virtual Threads: Principles, Implementation, and Performance

Java virtual threads, introduced in JDK 21, decouple Java threads from OS threads by using continuations and a ForkJoinPool scheduler, allowing millions of cheap, blocking‑friendly threads that boost throughput and simplify concurrent code compared to traditional platform threads or reactive frameworks, as demonstrated by performance benchmarks.

ConcurrencyJDK21Java
0 likes · 23 min read
Understanding Java Virtual Threads: Principles, Implementation, and Performance
DeWu Technology
DeWu Technology
Jul 12, 2024 · Frontend Development

Mako – A Fast, Zero‑Config Web Bundler and Its Architecture

Mako is a lightning‑fast, zero‑configuration web bundler whose Rust core and parallel Node.js pool handle loading, parsing, transforming, dependency analysis, and asset generation across JavaScript/TypeScript, CSS, assets, and more, while offering HMR, code‑splitting, plugin extensibility, and production‑grade reliability.

MakoPerformancePlugin Architecture
0 likes · 20 min read
Mako – A Fast, Zero‑Config Web Bundler and Its Architecture
Bilibili Tech
Bilibili Tech
Apr 26, 2024 · Big Data

Fine-Grained Lock Optimization for HDFS NameNode to Improve Metadata Read/Write Performance

To overcome the NameNode write bottleneck caused by a single global read/write lock in Bilibili’s massive HDFS deployment, the team introduced hierarchical fine‑grained locking—splitting the lock into Namespace, BlockPool, and per‑INode levels—which yielded up to three‑fold write throughput gains, a 90 % drop in RPC queue time, and shifted performance limits from lock contention to log synchronization.

Big DataHDFSNameNode
0 likes · 15 min read
Fine-Grained Lock Optimization for HDFS NameNode to Improve Metadata Read/Write Performance
Bilibili Tech
Bilibili Tech
Apr 16, 2024 · Frontend Development

Design and Implementation of a High‑Performance Matroska Demuxer for Web Uploads

The new mkv-demuxer SDK replaces the slow FFmpeg-Wasm solution on Bilibili’s upload page by reading Matroska files in slice-sized ArrayBuffers, parsing EBML headers and SeekHead indexes, and exposing getMeta, getData, and seekFrame APIs, cutting memory use by 98 % and parsing time by 97 % while accelerating cover-generation and recommendation processing.

DemuxerMatroskaPerformance
0 likes · 17 min read
Design and Implementation of a High‑Performance Matroska Demuxer for Web Uploads
DeWu Technology
DeWu Technology
Apr 15, 2024 · Mobile Development

Debugging Performance Degradation of Android 14 Debug Builds: Root Cause and Workarounds

The severe jank observed in Android 14 debug builds stems from the DEBUG_JAVA_DEBUGGABLE flag triggering DeoptimizeBootImage, which forces boot‑image methods onto the slow switch interpreter; a temporary hook clearing the flag and a permanent fix using UpdateEntrypointsForDebuggable restore performance, with Google planning an official fix in Android 15.

NativePerformanceandroid
0 likes · 12 min read
Debugging Performance Degradation of Android 14 Debug Builds: Root Cause and Workarounds
Java Tech Enthusiast
Java Tech Enthusiast
Jan 13, 2024 · Databases

Understanding MySQL COUNT() Performance and Optimization Strategies

The article explains why counting rows in large MySQL tables—especially with InnoDB—can become slow, compares COUNT() performance across storage engines and query forms, and offers optimization tactics such as using metadata counts, EXPLAIN estimates, a dedicated counting table, or periodic batch processing for accurate or approximate results.

InnoDBMySQLPerformance
0 likes · 12 min read
Understanding MySQL COUNT() Performance and Optimization Strategies
Java Tech Enthusiast
Java Tech Enthusiast
Jan 1, 2024 · Databases

Optimizing MyBatis Batch Inserts with ExecutorType.BATCH and foreach Limits

To achieve fast bulk inserts in MyBatis, open a session with ExecutorType.BATCH and insert records individually (letting JDBC batch them), limit foreach‑generated statements to about 20‑50 rows, or use MyBatis dynamic‑SQL or plain JDBC batch, avoiding massive SQL parsing and CPU overload.

JavaMyBatisPerformance
0 likes · 9 min read
Optimizing MyBatis Batch Inserts with ExecutorType.BATCH and foreach Limits
DeWu Technology
DeWu Technology
Dec 18, 2023 · Databases

Elasticsearch Best Practices: Query, Index, and Performance Optimizations

The guide outlines production‑ready Elasticsearch best practices, covering query tuning such as using shard request cache, filter context, size‑0 aggregations and composite aggregations; write strategies like auto‑generated IDs, bulk API sizing and refresh handling; optimal shard counts, explicit mappings with disabled unnecessary features, and general advice to use explicit index names and stored scripts.

CachingElasticsearchIndexing
0 likes · 22 min read
Elasticsearch Best Practices: Query, Index, and Performance Optimizations
37 Interactive Technology Team
37 Interactive Technology Team
Oct 23, 2023 · Backend Development

Investigation of Go HTTP Client Connection Pool Not Reusing Connections

The investigation revealed that the Go http.Client was not reusing connections because response bodies were closed before being fully read, causing the underlying connections to be marked dead; fully reading the bodies restored pooling, eliminated DNS‑resolution timeouts and dramatically lowered query‑per‑second spikes.

Connection PoolDNSGo
0 likes · 9 min read
Investigation of Go HTTP Client Connection Pool Not Reusing Connections
37 Interactive Technology Team
37 Interactive Technology Team
Aug 7, 2023 · Mobile Development

Understanding and Analyzing Android ANR (Application Not Responding)

Android ANR occurs when the UI thread is blocked, triggered by time‑outs such as KeyDispatch, Broadcast, Service or ContentProvider, often caused by long I/O, deadlocks, Binder calls or resource exhaustion; diagnosing involves examining traces.txt, thread states, CPU/memory metrics, and using tools like Looper logs, Choreographer, or Tencent Matrix to prevent future freezes.

ANRCPUPerformance
0 likes · 26 min read
Understanding and Analyzing Android ANR (Application Not Responding)
DeWu Technology
DeWu Technology
Jun 2, 2023 · Backend Development

Implementing Dubbo Asynchronous Calls with CompletableFuture: Practices and Performance Gains

By refactoring Dubbo RPC interfaces to return CompletableFuture, applying thenApply/thenCombine/thenCompose patterns, isolating a custom business thread pool, and handling errors and tracing, the team achieved up to 50% latency reduction, 25% response‑time improvement, a one‑third server cut and CPU utilization rise, demonstrating substantial performance and cost benefits.

CompletableFutureDubboJava
0 likes · 19 min read
Implementing Dubbo Asynchronous Calls with CompletableFuture: Practices and Performance Gains