14
Быстрое выделение памяти под множество однотипных объектов Александр Черный http://chernyy.ru / Для @CocoaHeadsMsk

Встреча №2. Быстрое выделение памяти под множество однотипных объектов, Александр Черный

Embed Size (px)

DESCRIPTION

Доклад Александра Черного на встрече CocoaHeads Moscow

Citation preview

Page 1: Встреча №2. Быстрое выделение памяти под множество однотипных объектов, Александр Черный

Быстрое выделение памяти под множество однотипных объектов

Александр Черныйhttp://chernyy.ru/

Для @CocoaHeadsMsk

Page 2: Встреча №2. Быстрое выделение памяти под множество однотипных объектов, Александр Черный

Откуда ноги растут?

Page 3: Встреча №2. Быстрое выделение памяти под множество однотипных объектов, Александр Черный

Два класса

Second → First → NSObject

Page 4: Встреча №2. Быстрое выделение памяти под множество однотипных объектов, Александр Черный

isa — всему голова?

isa?

Page 5: Встреча №2. Быстрое выделение памяти под множество однотипных объектов, Александр Черный

Поля NSObject1 2

3

Page 6: Встреча №2. Быстрое выделение памяти под множество однотипных объектов, Александр Черный

Добавим элатон

Page 7: Встреча №2. Быстрое выделение памяти под множество однотипных объектов, Александр Черный

isa — всему голова

[second class] — Second[second superclass] — First[[second superclass] superclass] — NSObject[etalonObject class] — NSObject

!"#$% isa & etalonObject '%( )*''+,

Page 8: Встреча №2. Быстрое выделение памяти под множество однотипных объектов, Александр Черный

NSString-(*"+. /'*0#$+.1 2#3%. '%(

Page 9: Встреча №2. Быстрое выделение памяти под множество однотипных объектов, Александр Черный

NSArray

Page 10: Встреча №2. Быстрое выделение памяти под множество однотипных объектов, Александр Черный

Код

Page 11: Встреча №2. Быстрое выделение памяти под множество однотипных объектов, Александр Черный

NSStringExperiment № Time Memory

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

0,131251 18276352

0,341883 18739200

0,559789 18739200

0,748177 18739200

0,923315 18739200

1,106459 18739200

1,341331 18739200

1,449332 18739200

1,547059 18739200

1,740061 18739200

1,943999 18739200

2,112459 18739200

2,270719 18739200

2,403548 18739200

2,587277 18739200

2,965954 18739200

3,056996 18739200

3,404000 18739200

3,530126 18739200

3,587230 18739200

0

1

2

3

4

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

NSString chart

Page 12: Встреча №2. Быстрое выделение памяти под множество однотипных объектов, Александр Черный

ASCIIStringExperiment № Time Memory

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

0,040730 7626752

0,078444 8085504

0,093218 8085504

0,129534 8085504

0,157785 8085504

0,187519 8085504

0,220596 8085504

0,248450 8085504

0,280563 8085504

0,326714 8085504

0,363912 8085504

0,398687 8085504

0,437514 8085504

0,462569 8085504

0,503980 8085504

0,532753 8085504

0,575265 8085504

0,624677 8085504

0,669445 8085504

0,690897 8085504

0

0,175

0,350

0,525

0,700

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

ASCIIString chart

Page 13: Встреча №2. Быстрое выделение памяти под множество однотипных объектов, Александр Черный

Еще несколько слов4 5+)%3%'66 2*$7(6

48 *5(#$*(69%:0#. #2(6$6/*;66

4 PascalString

48 #8<%$*, )*''+,

4 2#:+30% :##8=%'67

4 5"%)% 0&"%'67

Page 14: Встреча №2. Быстрое выделение памяти под множество однотипных объектов, Александр Черный

That’s all, folks!

NSDeveloper *alexChernyy = [NSDeveloper developerWithMail:@"[email protected]" twitter:@"@alexchernyy"];