- Let's start meta: Lamport-State the Problem Before Describing the Solution (1978). https://www.microsoft.com/en-us/research/publication/state-problem-describing-solution/ … 1-page memo. Read it.
- Herlihy-"Wait-free synchronization" http://www.diku.dk/OLD/undervisning/2005f/dat-os/skrifter/lockfree.pdf …. Truly seminal. Lucid + enough good ideas for 4 papers easily.
- Cook-"How complex systems fail" (1998) https://www.researchgate.net/profile/Richard_Cook3/publication/228797158_How_complex_systems_fail/links/0c96053410db96a89c000000.pdf … 4 pages that anyone working on/with complex systems should read.
- Moffat, Turpin-"On the Implementation of Minimum Redundancy Prefix Codes" (1997) https://pdfs.semanticscholar.org/bda3/442cc6b1d10e4b36b574af0a34a668492230.pdf … Much has been written about Huffman coding, a lot of it wrong. Almost everything worth knowing is in this (short!) paper.
- Dybvig, Hieb, Butler-"Destination-Driven Code Generation" (1990) https://pdfs.semanticscholar.org/dcb8/8719880e1f76ad
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include "holistic_memory_tracker_view.hpp" | |
#include "keen/toolui/tui.hpp" | |
#include "keen/toolui/tui_widget.hpp" | |
#include "keen/base/pod_set.hpp" | |
#include "keen/base/memory_tracker.hpp" | |
#include "keen/dataschema/ds_type_collection.hpp" | |
namespace keen | |
{ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include "game_memory_allocator_model.hpp" | |
#include "keen/gameconnectionserver/game_connection_memory_data.hpp" | |
#include "keen/qtbase/numbers.hpp" | |
namespace keen | |
{ | |
GameMemoryAllocatorModel::GameMemoryAllocatorModel( const GameMemoryDataAllocators* pAllocators, QObject* pParent /*= nullptr */ ) | |
: QAbstractItemModel( pParent ) | |
{ | |
KEEN_ASSERTE( pAllocators != nullptr ); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
struct StaticStringView | |
{ | |
inline operator StringView() const; | |
inline ConstMemoryBlock getMemory() const; | |
inline const char* getStart() const; | |
inline size_t getSize() const; | |
const char* pStart; | |
size_t size; | |
}; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
https://docs.google.com/presentation/d/1L820vM2mJzs_mmsn4mXle4eWkxIXHlk6WKMalJjS1Hw/edit?usp=sharing |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const Result< size_t > sendResult = sendData( pNetworkCommand->data.write.pSocket->socketState.socketHandle, pNetworkCommand->data.write.source.pStart + pNetworkCommand->data.write.bytesWritten, toSend ); | |
if( sendResult.error == ErrorId_Ok ) | |
{ | |
#if KEEN_USING( KEEN_NETWORK_SYSTEM_DEBUG ) | |
pNetworkSystem->debugData.sentBytes += sendResult.value; | |
#endif | |
pNetworkCommand->data.write.bytesWritten += sendResult.value; | |
if( pNetworkCommand->data.write.bytesWritten == pNetworkCommand->data.write.source.size ) | |
{ | |
finishSocketCommand( pNetworkSocket, pNetworkSocket->writeCommands.popFront(), ErrorId_Ok ); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
section 'interface' do | |
export do | |
case get_target_platform | |
when :win32 | |
import 'platform/win32/mssdk' | |
add_cpp_define 'CURL_STATICLIB' | |
add_cpp_define 'CURL_DISABLE_LDAP' | |
else | |
raise 'Unupported platform!' | |
end |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include "zstd.h" | |
#include "zdict.h" | |
#include <stdio.h> | |
#include <stdlib.h> | |
int main( int argc, char* argv[] ) | |
{ | |
const size_t sourceDataSize = 100000u; | |
const size_t maxDictionarySize = 100000u; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
AsyncOp<void*> async_read_compressed_file( const char* pFileName ) | |
{ | |
// async file open: | |
AsyncOp<FileHandle> openOp = async_open( pFileName ); | |
// when the open is done: read the header: | |
openOp.wait(); // ???? | |
FileHandle handle = openOp.result; | |