if &compatible | |
set nocompatible " Be iMproved | |
endif | |
set number | |
set confirm | |
set autoread | |
set spell | |
set clipboard+=unnamed | |
set mouse+=a |
COW, short for copy on write, is a way to implement mutable strings so that creating strings and logically copying strings, is reduced to almost nothing; conceptually they become free operations like no-ops.
Basic idea: to share a data buffer among string instances, and only make a copy for a specific instance (the copy on write) when that instance's data is modified. The general cost of this is only an extra indirection for accessing the value of a string, so a COW implementation is highly desirable. And so the original C++ standard, C++98, and its correction C++03, had special support for COW implementations, and e.g. the g++ compiler's std::string
implementations used COW.
So why was that support dropped in C++11?
In particular, would the same reason or reasons apply to a reference counted immutable string value class?
use std; | |
use std::env; | |
use std::fs; | |
use std::io::Write; | |
use nix::mount; | |
use nix::sched; | |
use nix::sched::CloneFlags; | |
use nix::sys::signal::Signal; | |
use nix::sys::wait::waitpid; |
use std::env; | |
use nix::sched; | |
use nix::sched::CloneFlags; | |
use nix::sys::signal::Signal; | |
use nix::sys::wait::waitpid; | |
use nix::unistd; | |
use cgroups_rs as cgroup; | |
use cgroups_rs::{Cgroup}; | |
use cgroups_rs::cgroup_builder::{CgroupBuilder}; |
#!/usr/bin/env python3 | |
# -*- coding: utf-8 -*- | |
import gc | |
def list_live_objects(ty=None): | |
def go(results, elements, bitset): | |
for elem in elements: | |
identity = id(elem) |
Minimal example: transcode from MP3 to WMA:
ffmpeg -i input.mp3 output.wma
You can get the list of supported formats with:
ffmpeg -formats
Convert WAV to MP3, mix down to mono (use 1 audio channel), set bit rate to 64 kbps and sample rate to 22050 Hz:
Build LLVM/Clang Docset
-
Modify LLVM/Clang doxygen.config.in
- GENERATE_DOCSET = YES
- DISABLE_INDEX = YES
- SEARCHENGINE = NO
- GENERATE_TREEVIEW = NO
- GENERATE_TAGFILE =
- LLVM: @abs_top_builddir@/doxygen/llvm(clang).tag
(* set geography data server *) | |
server := "http://www.staremapy.cz/naturalearth/`1`/`2`/`3`.png" | |
(* plot *) | |
GeoGraphics[{GeoStyling[Opacity[0.5], GeoServer -> server], | |
NightHemisphere[]}, | |
GeoBackground -> GeoStyling["ReliefMap", GeoServer -> server]] | |
(* more simple graph *) | |
GeoGraphics[{NightHemisphere[Now], Red, Point[$GeoLocation]}] |
#include <assert.h> | |
#include <libcgroup.h> | |
#include <stdint.h> | |
#include <stdio.h> | |
#include <stdlib.h> | |
#include <sys/types.h> | |
#define _GNU_SOURCE | |
#include <unistd.h> |