Kris Array Slicing

Information about Kris Array Slicing

Published on January 7, 2008

Author: george

Source: authorstream.com

Content

Array Slicing fo’ Shizzle!:  Array Slicing fo’ Shizzle! © Kris 2007 Some Background:  Some Background 2001: Web servers (Tomcat, Resin, WebLogic, etc) 2002: Bull in a china shop A Java Enigma:  A Java Enigma Overt GC reliance has potential to make any language or system appear sluggish Java has few easy-to-apply alternatives Libraries & systems can appear GC-bound GC can be a synchronization bottleneck Yet, Java flourished on the server GC Pressure Reduction:  GC Pressure Reduction Low-level access to malloc/free Precision new & delete overrides Temporal struct or class on the stack Free-lists Array slicing Array Slicing fo’ Shizzle!:  Array Slicing fo’ Shizzle! Easy-to-use array aliasing Native to the language auto slice = array [start .. end]; Three Use-Cases:  Three Use-Cases Text Processing Sliced HTTP Clustering with Tina 1: Integer as Text:  1: Integer as Text char[] uitoa (uint val, char[] output=null) { if (output.length < unit.dig) output.length = uint.dig; auto len = output.length; do { output [--len] = val % 10; } while (val /= 10); return output [len .. $]; } 1: UTF Conversion:  1: UTF Conversion dchar[] toUtf32 (char[] input, dchar[] output=null) { if (output.length < input.length) output.length = input.length; // convert input utf8 into output utf32 // … return output [0 .. len]; } 1: Parsing Lines of Text:  1: Parsing Lines of Text // option 1 via an array foreach (line; splitLines (myText)) … The quick brown fox jumped over the lazy dog How now brown cow The rain in Spain falls mostly on the plain // option 2 via opApply foreach (line; lines (myText)) … 2: Sliced HTTP:  2: Sliced HTTP Client 2: Sliced HTTP Server:  2: Sliced HTTP Server Cookies Headers URI Request structured alias input buffer overlap optional 2: Thread Local Storage:  2: Thread Local Storage 3: Clustering Model:  3: Clustering Model Bulletin Task Queue Cache 3: Model Services:  3: Model Services Bulletin Task Queue Cache put (msg) get () put (key, msg) get (key, remove) execute (msg) broadcast (msg) 3: Tina:  3: Tina High performance Peer to peer design (no SPOF) Serialized D objects Near zero GC activity 3: Storage Request:  3: Storage Request Client Object buffer 3: Task Request:  3: Task Request Tango Connection:  Tango Connection Text processing supports slicing Conversion Tokenizing Streaming Utilities IO subsystem supports slicing Protocol readers (allocators) Buffering Wrap-up:  Wrap-up Overt GC reliance has potential to make any language or system appear sluggish Array slicing can be a powerful alternative D libraries & systems can easily be GC-lite Less multi-thread contention Show some GC love Thank You:  Thank You

Related presentations


Other presentations created by george

BOD
30. 11. 2007
0 views

BOD

STRESSMANAGEMENT
06. 12. 2007
0 views

STRESSMANAGEMENT

homebirth
10. 12. 2007
0 views

homebirth

Fuel Cell technology programme
07. 11. 2007
0 views

Fuel Cell technology programme

MoCap
23. 11. 2007
0 views

MoCap

training presentation
04. 01. 2008
0 views

training presentation

Winery Planning Guide
04. 01. 2008
0 views

Winery Planning Guide

2 html cgi perl
06. 11. 2007
0 views

2 html cgi perl

wu
14. 11. 2007
0 views

wu

mysap lessons lrnd
28. 11. 2007
0 views

mysap lessons lrnd

VENEZIA ITALIAN AUDIOVISUAL
03. 10. 2007
0 views

VENEZIA ITALIAN AUDIOVISUAL

Metabolism
06. 03. 2008
0 views

Metabolism

B3u5
10. 03. 2008
0 views

B3u5

Martin Thornton v4
12. 03. 2008
0 views

Martin Thornton v4

m220w01
07. 11. 2007
0 views

m220w01

IVAConferencegompers 1
18. 03. 2008
0 views

IVAConferencegompers 1

wdubb2x5klc7cpr
21. 03. 2008
0 views

wdubb2x5klc7cpr

Millennial 3
26. 03. 2008
0 views

Millennial 3

attitudestoimmigrants
07. 04. 2008
0 views

attitudestoimmigrants

domingos
19. 12. 2007
0 views

domingos

DESSAC
04. 10. 2007
0 views

DESSAC

KurlantzickPowerPoint
11. 10. 2007
0 views

KurlantzickPowerPoint

ccj jun2000
09. 10. 2007
0 views

ccj jun2000

domestic cooking en
04. 03. 2008
0 views

domestic cooking en

wecPPT0525f
24. 02. 2008
0 views

wecPPT0525f

Bridges TTVN
29. 12. 2007
0 views

Bridges TTVN

040502x
30. 12. 2007
0 views

040502x

IntellectualFreedomA ndPrivacy
15. 11. 2007
0 views

IntellectualFreedomA ndPrivacy

myslovitz2
21. 11. 2007
0 views

myslovitz2

BDDSlideShow
28. 02. 2008
0 views

BDDSlideShow

Storing
07. 01. 2008
0 views

Storing

san pedro mkt soc
16. 11. 2007
0 views

san pedro mkt soc

EECCAspecifics eng
27. 09. 2007
0 views

EECCAspecifics eng