SEARCH KEYWORD -- ALLOCATION
new() and make() in GoLang
GoLang is a modern, statically typed, compiled programming language designed for building scalable, concurrent, and efficient software. It provides various built-in functions and features that help developers write concise and efficient code. Among them are the new() and make() functions, which may appear similar at first glance but serve different purposes in GoLang and are crucial for memory allocation and data initialization. In this blog article, we will explore the differences between the n...
Performance comparison of string concatenation in Go language
In Go language, string concatenation is an inevitable operation during development, and efficient string concatenation is crucial for improving application performance. This article will delve into several common ways of string concatenation, provide performance comparisons, and offer optimization suggestions aimed at helping developers write more efficient code. Common ways of string concatenation In Go language, common ways of string concatenation include the following: Using the + operator fo...
COMPARISON,PERFORMANCE,STRING CONCATENATION 2024-05-13 00:33:20
Facebook open sources its C++ library named Folly
Recently, Facebook open sourced its low level C++ function library for its internal use named Folly. Folly is an open sourced C++11 component library, it provides functions similar to what boost and std libraries provide, including string, vector and memory allocation, bit operation etc, to fulfill large scale high performance requirements.Currently Folly is tested with gcc4.6 on some 64 bit systems such as Fedora 17, Ubuntu 12.04 and Debian wheezy, it may also be OK on other 64 bit platforms wi...
Facebook,Folly,C++,open source 2012-06-05 08:31:12
malloc/free and new/delete in C++
malloc and free are C++/C language standard library functions, while new/delete are operator of C++. They can be used to allocate dynamic memory and free memory in C++ programs malloc/free can not meet the requirements of dynamic objects creation. Object needs to call the constructor to initialize the object when creating, the object needs to call the destructor before it is destroyed Since malloc() and free() are library functions rather than operators, the compiler has no control permiss...
ByteBuffer in Java
ByteBuffer is introduced in java.nio since Java 1.4. It provides a way of representing raw structured data such as from a file or from network. It enables fast access of underlying data compared to traditional ways like byte[] Prior to Java 1.4, if you want to represent a structured raw data, you need to create a byte[] and then having a set of checks to delimit the byte array to get the expected tokens. There are three ways to create a ByteBuffer: Wrapping an exiting array by calling ByteBuffe...
JAVA,BYTEBUFFER,ALLOCATION 2015-07-08 03:17:44
Can two new objects point to the same memory address in GoLang?
Do you have any idea what the output will be for below GoLang snippet? package main import ( "fmt" ) type obj struct{} func main() { a := &obj{} fmt.Printf("%p\n", a) c := &obj{} fmt.Printf("%p\n", c) fmt.Println(a == c) } Many people would think that a and c are two different object instances which have different memory addresses. Hence a == c will be false. But if you try to run the above program, you would see below output 0x5781c8 0x5781c8 true To get to know the reason wh...
GO,GOLANG,VARIABLE ESCAPE,ZEROBASE 2019-04-06 01:19:52
Embrace open source
In past few days, there are many tech news which are related to open source. For example, Microsoft enables Linux on its Windows Azure cloud, Facebook open sourced its C++ library Folly and Samsung joined Linux foundation. Now more and more big companies realize the power of open source and are willing to contribute to the open source community. It will benefit not only developers but also these big companies as well.By providing some open source libraries or projects, developer may reduce their...
Open source,Microsoft,Samsung,Facebook,Linux 2012-06-06 05:37:59
new expression vs operator new in C++
In C++, there is a new mechanism for memory allocation and management. When we want to initialize an object, we can use new expression to get enough memory for storing an object and also initialize the object. When we want to create a new object, we can use new expression, for example: Obj *obj=new Obj; Basically, what the new expression does is to allocate enough memory for storing the obj object, in addition, it will initialize the object with some intial values. Also, there is an operator new...
C++, new expression, operator new 2012-08-12 11:42:39
Will China surpass United States on innovation?
I had some discussions on whether China would surpass United States on innovation with some entrepreneurs during last weekend's APEC. The conclusion is United Stats has advantages on innovation today, but in the future, China's innovation will be more widespread and successful. For the next 10 years, what advantages do United States and China have? Actually United States has obvious advantages, especially on innovation structure and innovation culture. Technology -- It's undoubted that Unit...
Innovation,China,United States 2013-07-15 04:40:12
Redis Cluster and Common Partition Techniques in Distributed Cache
In this post, I will discuss a few common partition techniques in distributed cache. Especially, I will elaborate on my understanding on the use of Redis Cluster. Please understand that at the time of writing, the latest version of Redis is 4.0.10. Many articles on the same topic have a different idea from this post. This is mainly because, those articles are probably outdated. In particular, they may refer to the Redis Cluster implementation in Redis 3. Redis Cluster has been improved...
REDIS,DISTRIBUTED CACHE,CLOUD COMPUTING 2019-01-17 08:10:37
RECENT
- How Artificial Intelligence Is Helping Fight Environmental Challenges
- How to Deal with Accusations of Negligence as a Business
- Google's Business Operations in China Amid Antitrust Scrutiny
- Deploying DeepSeek-R1 Locally with a Custom RAG Knowledge Data Base
- Balancing Convenience and Security in the Digital World
- My AI Learning Journey: Exploring the Future of Technology
- Power Grid Simulation System 02 : FDI Power Outage Attack Case Study
- Be Careful When Using Cursor to Help Build Application
- Calculating Token Count for Claude API Using Go: A Step-by-Step Guide
- Understanding Cursor and WindSurf's Code Indexing Logic
- more>>