From 1b49f7163caccf6a686acc6a0c2bf57bcee173e2 Mon Sep 17 00:00:00 2001 From: Christian Thaeter Date: Tue, 21 Aug 2007 04:06:23 +0200 Subject: [PATCH] using memory mapping for writing at first place would require too much io, every written page would have to be paged in first from disk, use a dedicaed write buffers for this (not completely finished) --- uml/cinelerra3/10.session | 18 -------- uml/cinelerra3/128138 | 81 +++++++++++++++++++++++++++++++-- uml/cinelerra3/128181.diagram | 86 ++++++++++++++++++++++------------- 3 files changed, 131 insertions(+), 54 deletions(-) delete mode 100644 uml/cinelerra3/10.session diff --git a/uml/cinelerra3/10.session b/uml/cinelerra3/10.session deleted file mode 100644 index a137f00a6..000000000 --- a/uml/cinelerra3/10.session +++ /dev/null @@ -1,18 +0,0 @@ -window_sizes 1274 775 300 964 633 60 -diagrams - active classdiagram_ref 128181 // File Mapping - 964 633 68 4 0 0 -end -show_stereotypes -open - - package_ref 128645 // codegen - - package_ref 129285 // ProcessingLayer - class_ref 128181 // File - class_ref 128693 // FileHandle - class_ref 129333 // FileProvider - class_ref 128225 // FrameReference - class_ref 128778 // FileReference -end -end diff --git a/uml/cinelerra3/128138 b/uml/cinelerra3/128138 index a7342a713..33c1211c8 100644 --- a/uml/cinelerra3/128138 +++ b/uml/cinelerra3/128138 @@ -1,6 +1,6 @@ -format 38 +format 40 "design" // BackendLayer::design - revision 6 + revision 8 modified_by 10 "ct" // class settings //class diagram settings @@ -8,7 +8,7 @@ format 38 //use case diagram settings package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default //sequence diagram settings - show_full_operations_definition default write_horizontally default drawing_language default draw_all_relations default shadow default + show_full_operations_definition default write_horizontally default class_drawing_mode default drawing_language default draw_all_relations default shadow default //collaboration diagram settings show_full_operations_definition default show_hierarchical_rank default write_horizontally default drawing_language default package_name_in_tab default show_context default draw_all_relations default shadow default //object diagram settings @@ -34,7 +34,7 @@ format 38 //object diagram settings write_horizontally default package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default //sequence diagram settings - show_full_operations_definition default write_horizontally default drawing_language default draw_all_relations default shadow default + show_full_operations_definition default write_horizontally default class_drawing_mode default drawing_language default draw_all_relations default shadow default //state diagram settings package_name_in_tab default show_context default auto_label_position default write_trans_label_horizontally default show_trans_definition default draw_all_relations default shadow default show_activities default region_horizontally default drawing_language default @@ -305,6 +305,22 @@ ${inlines} classrelation 128522 // mapping () relation_ref 128266 // end + + classrelation 129674 // + relation 129290 o--- + a role_name "" multiplicity "" protected + cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value}; +" + classrelation_ref 129674 // + b role_name "" multiplicity "" protected + cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value}; +" + classrelation_ref 129802 // + end + + classrelation 130058 // write_buffer () + relation_ref 129418 // + end end class 128949 "FrameDescriptor" @@ -459,10 +475,65 @@ ${inlines} classrelation_ref 128778 // b multiplicity "" parent class_ref 128906 // SmartPointer end - end activity 128010 "get frame" end + + class 129034 "WriteBufferPool" + visibility package + cpp_decl "${comment}${template}class ${name}${inherit} + { +${members} }; +${inlines} +" + java_decl "" + idl_decl "" + explicit_switch_type "" + + classrelation 130186 // + relation 129546 ---- + a role_name "" multiplicity "" protected + cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value}; +" + classrelation_ref 130186 // + b role_name "" multiplicity "" protected + cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value}; +" + classrelation_ref 130314 // + end + end + + class 129162 "WriteBuffer" + visibility package + cpp_decl "${comment}${template}class ${name}${inherit} + { +${members} }; +${inlines} +" + java_decl "" + idl_decl "" + explicit_switch_type "" + + classrelation 129802 // + relation_ref 129290 // + end + + classrelation 129930 // frame () + relation 129418 ---- + a role_name "frame" multiplicity "0..1" protected + cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value}; +" + classrelation_ref 129930 // frame () + b role_name "write_buffer" multiplicity "0..1" protected + cpp default " ${comment}${static}${mutable}${volatile}${const}${type}* ${name}${value}; +" + classrelation_ref 130058 // write_buffer () + end + + classrelation 130314 // + relation_ref 129546 // + end + end end end diff --git a/uml/cinelerra3/128181.diagram b/uml/cinelerra3/128181.diagram index dbe8a49a4..5908f3c4d 100644 --- a/uml/cinelerra3/128181.diagram +++ b/uml/cinelerra3/128181.diagram @@ -1,4 +1,4 @@ -format 38 +format 40 classcanvas 128010 class_ref 128778 // FileReference draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default @@ -10,11 +10,11 @@ classcanvas 128053 class_ref 128181 // File end classcanvas 128181 class_ref 128309 // FileHandleCache draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default - xyz 482 146 2000 + xyz 666 51 2000 end classcanvas 128309 class_ref 128437 // FileMapCache draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default - xyz 662 397 2000 + xyz 694 253 2000 end classcanvas 128394 class_ref 128906 // SmartPointer draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default @@ -22,15 +22,15 @@ classcanvas 128394 class_ref 128906 // SmartPointer end classcanvas 128565 class_ref 128565 // FileMap draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default - xyz 510 401 2000 + xyz 597 253 2000 end classcanvas 128693 class_ref 128693 // FileHandle draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default - xyz 508 287 2000 + xyz 473 59 2000 end classcanvas 128821 class_ref 128821 // Frame draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default - xyz 516 549 2000 + xyz 505 660 2000 end classcanvas 128949 class_ref 128949 // FrameDescriptor draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default @@ -44,7 +44,7 @@ fragment 129589 "public interfaces" xyzwh 232 6 1995 198 803 end fragment 129717 "implementation details" - xyzwh 437 5 1995 391 805 + xyzwh 437 8 1975 387 798 end fragment 131338 "References hold by others" xyzwh 1 7 1990 225 802 @@ -53,28 +53,42 @@ classcanvas 131553 class_ref 128225 // FrameReference draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default xyz 48 549 2000 end +note 133002 "mmaped files are used for reading" + color transparent xyzwh 509 159 1990 304 221 +note 133130 "temporary cache and normal io for writing" + color transparent xyzwh 507 399 1980 303 210 +classcanvas 133514 class_ref 129034 // WriteBufferPool + draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default + xyz 657 446 2000 + end +classcanvas 133642 class_ref 129162 // WriteBuffer + draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default + xyz 543 520 2005 + end relationcanvas 128138 relation_ref 128138 // from ref 128010 z 1999 to ref 128053 role_a_pos 251 279 3000 no_role_b multiplicity_a_pos 246 321 3000 no_multiplicity_b relationcanvas 128266 relation_ref 128266 // - from ref 128565 z 1999 to ref 128821 - role_a_pos 545 525 3000 role_b_pos 545 455 3000 - multiplicity_a_pos 532 524 3000 multiplicity_b_pos 529 455 3000 + from ref 128565 z 1999 to point 450 388 + line 133258 z 1999 to point 450 594 + line 133386 z 1999 to ref 128821 + role_a_pos 437 620 3000 role_b_pos 499 316 3000 + multiplicity_a_pos 486 632 3000 multiplicity_b_pos 578 301 3000 relationcanvas 128353 relation_ref 128225 // from ref 128053 z 1999 to ref 128693 - role_a_pos 442 279 3000 no_role_b - multiplicity_a_pos 463 321 3000 no_multiplicity_b + role_a_pos 497 115 3000 no_role_b + multiplicity_a_pos 448 115 3000 no_multiplicity_b relationcanvas 128481 relation_ref 128353 // geometry HVr - from ref 128821 z 1999 to point 541 741 + from ref 128821 z 1999 to point 529 741 line 131978 z 1999 to ref 128949 - role_a_pos 396 714 3000 no_role_b + role_a_pos 406 713 3000 no_role_b no_multiplicity_a no_multiplicity_b relationcanvas 128609 relation_ref 128481 // from ref 128053 z 1999 to ref 128565 - role_a_pos 424 382 3000 no_role_b - multiplicity_a_pos 488 424 3000 no_multiplicity_b + role_a_pos 521 232 3000 no_role_b + multiplicity_a_pos 584 274 3000 no_multiplicity_b relationcanvas 128650 relation_ref 128522 // from ref 128010 z 1999 to ref 128394 no_role_a no_role_b @@ -84,27 +98,37 @@ relationcanvas 129034 relation_ref 128650 // no_role_a no_role_b no_multiplicity_a no_multiplicity_b relationcanvas 129121 relation_ref 128609 // - from ref 128181 z 1999 stereotype "<>" xyz 523 229 3000 to ref 128693 - role_a_pos 552 259 3000 no_role_b - multiplicity_a_pos 539 259 3000 no_multiplicity_b + from ref 128181 z 1999 stereotype "<>" xyz 584 63 3000 to ref 128693 + role_a_pos 568 51 3000 no_role_b + multiplicity_a_pos 568 93 3000 no_multiplicity_b relationcanvas 129290 relation_ref 128778 // from ref 129461 z 1999 to ref 128053 role_a_pos 347 246 3000 no_role_b multiplicity_a_pos 311 246 3000 no_multiplicity_b relationcanvas 129930 relation_ref 128906 // - from ref 128309 z 1999 stereotype "<>" xyz 719 372 3000 to point 714 361 - line 130314 z 1999 to point 643 361 + from ref 128309 z 1999 stereotype "<>" xyz 690 225 3000 to point 750 218 + line 132746 z 1999 to point 627 217 line 130058 z 1999 to ref 128565 - role_a_pos 638 337 3000 no_role_b - multiplicity_a_pos 575 381 3000 no_multiplicity_b + role_a_pos 648 192 3000 no_role_b + multiplicity_a_pos 614 225 3000 no_multiplicity_b relationcanvas 131425 relation_ref 129121 // - from ref 128309 z 1999 to point 714 473 - line 130186 z 1999 stereotype "<>" xyz 720 455 3000 to point 644 473 - line 130570 z 1999 to ref 128565 - role_a_pos 649 483 3000 no_role_b - multiplicity_a_pos 573 440 3000 no_multiplicity_b + from ref 128309 z 1999 stereotype "<>" xyz 688 298 3000 to point 748 336 + line 130570 z 1999 to point 629 337 + line 132874 z 1999 to ref 128565 + role_a_pos 690 336 3000 no_role_b + multiplicity_a_pos 611 310 3000 no_multiplicity_b relationcanvas 131681 relation_ref 129249 // - from ref 131553 z 1999 to ref 128821 - role_a_pos 459 542 3000 no_role_b - multiplicity_a_pos 473 584 3000 no_multiplicity_b + from ref 131553 z 1999 to point 331 570 + line 132106 z 1999 to point 331 683 + line 132234 z 1999 to ref 128821 + role_a_pos 455 653 3000 no_role_b + multiplicity_a_pos 469 695 3000 no_multiplicity_b +relationcanvas 134794 relation_ref 129418 // + from ref 133642 z 1999 to ref 128821 + role_a_pos 553 632 3000 role_b_pos 584 575 3000 + multiplicity_a_pos 507 632 3000 multiplicity_b_pos 538 575 3000 +relationcanvas 135306 relation_ref 129546 // + from ref 133514 z 1999 to ref 133642 + no_role_a no_role_b + no_multiplicity_a no_multiplicity_b end