Hoon H.
// Example usage | |
// fixed and added some codes | |
// | |
#define EEGL_DEBUG_STUB_FUNC_DECORATION static | |
#define EEGL_DEBUG_STUB_EXCEPT_ERROR {HelperAssertGLError();} | |
static | |
void | |
HelperAssertGLError() |
# Don't trust the fucking manual about minimum requirements. | |
# You always need 2GB of *swap* space at least and 512MB physical RAM. | |
# Maybe server can run with less resources, but it fails to create initial database. | |
# So don't expect it to run on low-end machine. | |
# Configure hostname properly... Oracle fails if it cannot find the server using hostname. | |
# Example. | |
echo "127.0.0.1 oracle11g.local" | |
# Install requirements properly. Especially, 'bc' is undocumented dependency. |
# Ubuntu 12.04 LTS Clang3.3 + libc++ | |
# ================================== | |
# Do not use old Clang 3.0 for bootstrapping... | |
# which does not work. | |
# Perl is required in some LLVM build processes. | |
set -e | |
# apt-get sometimes exits with non-zero code even it installed successfully. | |
# And that makes script to halt. This is nonsense and ridiculous! |
The core part of Unicode is Unicode Scalar Value
. This represents core component to build a Unicode text. Also provides most reliable unit to process text data.
Unicode Scalar Value is equal to Code Point
except surrogate pairs.
Code Unit
is a component of each encoding algorithm. Defined differently by the encodings.
Grapheme Cluster
smallest unit to represent human recgonizable symbol.
-
NSLayoutManager.setTemporaryAttributes(:forCharacterRange:)
is far faster thanNSTextStorage.setAttributes(:range:)
. On My iMac, former took about 2 seconds, and latter took about 17 seconds in optimised build of test suit. -
Anyway, modifying
NSTextStorage
also took 2 seconds when wrapped bybeginEditing
/endEditing
pair. So this performance drop is mainly due to inefficient layout refresh. You will get same performance